+# BRANCHES:
+# - HEAD - stable version
+# - DEVEL - development version
+# - WEEKLY - weekly development version
+
# TODO:
# - move translations into a separate, noarch package
#
%bcond_without shared # static or shared version
%bcond_without distributable # distributable or not
%bcond_without incall # include all tarballs into src.rpm (but splitted into shared/static)
-%bcond_with snap # snap version
-
-%ifarch sparc64 sparc
-%undefine with_shared
-%endif
-%if %{with snap}
-%define ver 8.10
-%define sver %{ver}
+%define ver 9.24
+%define sver 9.24
%define fix %{nil}
-%define dirrel 20050728
-%define reltype Preview-2
-%define magicstr 1275-20050728-P2BT
-%else
-%define ver 8.50
-%define sver 8.50
-%define fix %{nil}
-%define dirrel 20050916
+%define dirrel 20071015
%define reltype final
-%endif
+%define magicstr 671
%define shver %(echo %{ver} | tr -d .)%{fix}
%define x86_shared_rel %{dirrel}.5
%define sparc_static_rel %{dirrel}.1
%define ppc_shared_rel %{dirrel}.3
%define ppc_static_rel %{dirrel}.1
+
%if %{with shared}
%define type shared
# We should be able to build src.rpm also on not supported archs
%define rel %{x86_shared_rel}
-%ifarch sparc64 sparc
+%ifarch sparc sparcv9
#%%define rel %{sparc_shared_rel}
%define rel %{sparc_static_rel}
-%endif
+%else
%ifarch ppc
%define rel %{ppc_shared_rel}
%endif
+%endif
%else
%define type static
%define rel %{x86_static_rel}
-%ifarch sparc sparc64
+%ifarch sparc sparcv9
%define rel %{sparc_static_rel}
-%endif
+%else
%ifarch ppc
%define rel %{ppc_static_rel}
%endif
%endif
+%endif
# define to 0 and then redefine to avoid
# not defined macros
-%define need_ix86_shared_snap 0
-%define need_sparc_shared_snap 0
-%define need_ppc_shared_snap 0
-%define need_ix86_static_snap 0
-%define need_sparc_static_snap 0
-%define need_ppc_static_snap 0
-
%define need_ix86_shared 0
%define need_sparc_shared 0
%define need_ppc_shared 0
%if %{with incall}
# with incall? [if]
-%if %{with snap}
-# with snap? [if]
-%if %{with shared}
-# with shared? [if]
-%define need_ix86_shared_snap 1
-%define need_sparc_shared_snap 1
-%define need_ppc_shared_snap 1
-%else
-# with shared: [else]
-%define need_ix86_static_snap 1
-%define need_sparc_static_snap 1
-%define need_ppc_static_snap 1
-%endif
-# with shared; [endif]
-%else
-# with snap: [else]
%if %{with shared}
# with shared? [if]
%define need_ix86_shared 1
-#%%define need_sparc_shared 1
-%define need_sparc_static 1
+%define need_sparc_shared 1
%define need_ppc_shared 1
%else
# with shared: [else]
%define need_ppc_static 1
%endif
# with shared; [endif]
-%endif
-# with snap; [endif]
%else
# with incall: [else]
%ifarch %{ix86}
# is ix86? [if]
-%if %{with snap}
-# with snap? [if]
-%if %{with shared}
-# with shared? [if]
-%define need_ix86_shared_snap 1
%else
-# with shared: [else]
-%define need_ix86_static_snap 1
-%endif
-# with shared; [endif]
-%else
-# with snap: [else]
-%if %{with shared}
-# with shared? [if]
-%define need_ix86_shared 1
-%else
-# with shared: [else]
-%define need_ix86_static 1
-%endif
-# with shared; [endif]
-%endif
-# with snap; [endif]
-%endif
-# is ix86; [endif]
+# is ix86: [else]
%ifarch sparc sparc64
# is sparc? [if]
-%if %{with snap}
-# with snap? [if]
-%if %{with shared}
-# with shared? [if]
-%define need_sparc_shared_snap 1
-%else
-# with shared: [else]
-%define need_sparc_static_snap 1
-%endif
-# with shared; [endif]
-%else
-# with snap: [else]
%if %{with shared}
# with shared? [if]
-#%%define need_sparc_shared 1
-%define need_sparc_static 1
+%define need_sparc_shared 1
%else
# with shared: [else]
%define need_sparc_static 1
%endif
# with shared; [endif]
-%endif
-# with snap; [endif]
-%endif
-# is sparc; [endif]
+%else
+# is sparc: [else]
%ifarch ppc
# is ppc? [if]
-%if %{with snap}
-# with snap? [if]
-%if %{with shared}
-# with shared? [if]
-%define need_ppc_shared_snap 1
-%else
-# with shared: [else]
-%define need_ppc_static_snap 1
-%endif
-# with shared; [endif]
-%else
-# with snap: [else]
%if %{with shared}
# with shared? [if]
%define need_ppc_shared 1
# with shared: [else]
%define need_ppc_static 1
%endif
-# with shared; [endif
-%endif
-# with snap; [endif
+# with shared; [endif]
%endif
# is ppc; [endif]
%endif
+# is sparc; [endif]
+%endif
+# is ix86; [endif]
+%endif
# with incall; [endif]
+%define _rel 2
Summary: World fastest web browser
-Summary(pl): Najszybsza przegl±darka WWW na ¶wiecie
+Summary(pl.UTF-8): Najszybsza przeglądarka WWW na świecie
Name: opera
Version: %{ver}%{fix}
-Release: %{?with_snap:0.%{rel}.}1
+Release: %{_rel}
Epoch: 2
-License: Distributable for PLD until 31 Dec 2006 - http://distribute.opera.com/ (otherwise restricted, see file LICENSE)
+License: Distributable
Group: X11/Applications/Networking
%if %{need_ix86_static}
Source0: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/static/%{name}-%{sver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
-# Source0-md5: e66b6e4460610b7cebacb6d33e255ed7
+# Source0-md5: 96b8010ddb0ff250817c7fb314de2d26
%{!?with_distributable:NoSource: 0}
%endif
-%if %{need_ix86_static_snap}
-Source100: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/intel-linux/en/%{name}-%{sver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
-%{!?with_distributable:NoSource: 100}
-%endif
-
%if %{need_sparc_static}
Source1: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/static/%{name}-%{sver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
-# Source1-md5: e747b84c36882ab0b4ea1bc4cc7837c4
+# Source1-md5: c8443b4b83b21a56fdd8dc3526eaf46f
%{!?with_distributable:NoSource: 1}
%endif
-%if %{need_sparc_static_snap}
-Source101: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/sparc-linux/en/%{name}-%{sver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
-# Source101-md5: 913ccb28106f9f5acd3d94c8dc71ae1
-%{!?with_distributable:NoSource: 101}
-%endif
-
%if %{need_ppc_static}
Source2: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/static/%{name}-%{sver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
-# Source2-md5: a2678016990d5e27b3f54fa040282939
+# Source2-md5: be68f701224493bbd9a6d62df8eb9b19
%{!?with_distributable:NoSource: 2}
%endif
-%if %{need_ppc_static_snap}
-Source102: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/ppc-linux/en/%{name}-%{sver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
-%{!?with_distributable:NoSource: 102}
-%endif
-
%if %{need_ix86_shared}
Source20: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/shared/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
-# Source20-md5: cc3641de1b6643547d7e36221990f5cf
+# Source20-md5: e7d934c0fe9ce0ef7cec67981b71332d
%{!?with_distributable:NoSource: 20}
%endif
-%if %{need_ix86_shared_snap}
-Source1020: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/intel-linux/en/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
-# Source1020-md5: d11026f15f8c3680a772e3278804accb
-%{!?with_distributable:NoSource: 1020}
-%endif
-
%if %{need_sparc_shared}
Source21: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/shared/gcc-2.95/%{name}-%{sver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
-# Source21-md5: 883df8058672cf52678a07d714dcfce
+# Source21-md5: 84df0097ac9c52e95bc74e73407386ee
%{!?with_distributable:NoSource: 21}
%endif
-%if %{need_sparc_shared_snap}
-Source1021: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/sparc-linux/en/%{name}-%{sver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
-# Source1021-md5: e190021f5530de3f711006cd9f6bb339
-%{!?with_distributable:NoSource: 1021}
-%endif
%if %{need_ppc_shared}
-Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/shared/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
-# Source22-md5: 505d64f145d21fb40f183267163b7620
+Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/shared/gcc-2.95/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+# Source22-md5: 07f97223ffcb2d2ab87c921ead880018
%{!?with_distributable:NoSource: 22}
%endif
-%if %{need_ppc_shared_snap}
-Source1022: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/ppc-linux/en/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
-# Source1022-md5: daa712e362abe9d3dac74fad150d612c
-%{!?with_distributable:NoSource: 1022}
-%endif
-
Source4: %{name}.desktop
-
+Patch0: %{name}-wrapper.patch
URL: http://www.opera.com/
-ExclusiveArch: %{ix86} ppc sparc sparc64
-Requires: freetype >= 2
-Requires: openmotif >= 2
+BuildRequires: rpmbuild(macros) >= 1.356
BuildRequires: sed >= 4.0
+Requires: browser-plugins >= 2.0
+Requires: freetype >= 2
+Provides: wwwbrowser
+ExclusiveArch: %{ix86} ppc sparc sparcv9
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _plugindir %{_libdir}/opera/plugins
-%define _operadocdir %{_docdir}/%{name}-%{ver}.%{rel}
-%define configfile %{_datadir}/opera/config/opera6rc
+%define _operadocdir %{_docdir}/%{name}-%{ver}
%description
Opera is world fastest web browser. It supports most of nowaday
-extensions of HTML. And it is quite stable. Version static linked
-with qt.
+extensions of HTML. And it is quite stable. This version is %{?with_shared:shared}%{!?with_shared:statically}
+linked with Qt.
-%description -l pl
-Opera jest najszybsz± przegl±dark± WWW na ¶wiecie. Obs³uguje wiêkszo¶æ
-dzisiejszych rozszerzeñ HTML-a. Dodatkowo jest w miarê stabilna. Wersja
-statycznie skonsolidowana z qt.
+%description -l pl.UTF-8
+Opera jest najszybszą przeglądarką WWW na świecie. Obsługuje większość
+dzisiejszych rozszerzeń HTML-a. Dodatkowo jest w miarę stabilna. Ta
+wersja jest skonsolidowana %{?with_shared:dynamicznie}%{!?with_shared:statycznie} z Qt.
%prep
%ifarch %{ix86}
-%setup -q -T -b %{?with_snap:10}%{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en
+%setup -q -T -b %{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en%{?magicstr:-%{magicstr}}
%endif
-%ifarch sparc sparc64
-%setup -q -T -b %{?with_snap:10}%{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en
+%ifarch sparc sparcv9
+%setup -q -T -b %{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en-en%{?magicstr:-%{magicstr}}
%endif
%ifarch ppc
-%setup -q -T -b %{?with_snap:10}%{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en
+%setup -q -T -b %{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en%{?magicstr:-%{magicstr}}
%endif
+%patch0 -p1
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_sysconfdir}}
-install -d $RPM_BUILD_ROOT{/etc,%{_libdir},%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}}
-ln -s $RPM_BUILD_ROOT/etc $RPM_BUILD_ROOT%{_prefix}/etc
-
-sed -i -e 's|/etc|$RPM_BUILD_ROOT%{_sysconfdir}|' install.sh
+%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins -b <<'EOF'
+# opera does not use for .xpt files
+*.xpt
-echo y |\
-sh install.sh \
- --prefix=$RPM_BUILD_ROOT%{_prefix} \
- --wrapperdir=$RPM_BUILD_ROOT%{_bindir} \
- --docdir=$RPM_BUILD_ROOT%{_operadocdir} \
- --sharedir=$RPM_BUILD_ROOT%{_datadir}/opera \
- --exec_prefix=$RPM_BUILD_ROOT%{_libdir}/opera/bin \
- --plugindir=$RPM_BUILD_ROOT%{_plugindir}
+# use mplayerplug-in-opera instead
+mplayerplug-in*
-# man install
-install man/opera.1 $RPM_BUILD_ROOT%{_mandir}/man1
+# opera uses libjava.so to run java
+libjavaplugin_oji.so
+EOF
-# wrapper correction
-sed -i -e "s#$RPM_BUILD_ROOT##" $RPM_BUILD_ROOT%{_bindir}/opera
+sh install.sh \
+ DESTDIR=$RPM_BUILD_ROOT \
+ --prefix=%{_prefix} \
+ --exec_prefix=%{_libdir}/%{name}/bin \
+ --plugindir=%{_libdir}/%{name}/plugins \
+ --docdir=%{_operadocdir}
# install in kde etc.
-install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
-
install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
-sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_datadir}/opera/java/*.policy
-
-# always use latest possible wrapper
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
-if [ -f "$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-3" ]; then
- ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-1
- ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-2
-elif [ -f "$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-2" ]; then
- ln -sf operamotifwrapper-2 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-1
- ln -sf operamotifwrapper-2 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-3
-elif [ -f "$RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-1" ]; then
- ln -sf operamotifwrapper-1 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-2
- ln -sf operamotifwrapper-1 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-3
-fi
-
-# clean unneeded files
-rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/config
+mv -f $RPM_BUILD_ROOT%{_datadir}/%{name}/config/* $RPM_BUILD_ROOT%{_sysconfdir}
+install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
%clean
rm -rf $RPM_BUILD_ROOT
+%post
+%update_browser_plugins
+
+%postun
+if [ "$1" = 0 ]; then
+ %update_browser_plugins
+fi
+
%files
%defattr(644,root,root,755)
-%doc LICENSE bugreport
+%doc LICENSE
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opera*rc*
+
+# browser plugins v2
+%{_browserpluginsconfdir}/browsers.d/%{name}.*
+%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
+
%attr(755,root,root) %{_bindir}/*
%dir %{_libdir}/opera
%dir %{_libdir}/opera/bin
%attr(755,root,root) %{_plugindir}/*
%dir %{_datadir}/opera
%{_datadir}/opera/*.*
-%{_datadir}/opera/images
%{_datadir}/opera/ini
%{_datadir}/opera/java
+%{_datadir}/opera/images
%{_datadir}/opera/skin
%{_datadir}/opera/styles
%dir %{_datadir}/opera/locale
%{_datadir}/opera/locale/en
%{_datadir}/opera/locale/english.lng
-%{_pixmapsdir}/opera.xpm
%{_desktopdir}/*.desktop
-
%{_mandir}/man1/opera.1*
-
-%config(noreplace) %verify(not md5 size mtime) /etc/opera*rc*
+%{_pixmapsdir}/opera.xpm