+# TODO:
+# - move translations into a separate, noarch package
#
-# There're some problems with "shared" version
-#
-%bcond_with shared
-
-%define ver 7.51
-%define shver %(echo %{ver} | tr -d .)
-%define dirrel 20040602
-# is this snap or beta/final release?
-%define notsnap 1
-# type of release, usually final or beta or Preview-4 for snaps
+%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
+%bcond_with weekly # weekly snapshot version
+
+%ifarch sparc64 sparc
+%undefine with_shared
+%endif
+
+%if %{with weekly}
+%define ver 9.01
+%define sver %{ver}
+%define fix %{nil}
+%define dirrel 20060629
+%define magicstr 379
+%define with_snap 1
+%else
+%if %{with snap}
+%define ver 9.0
+%define sver %{ver}
+%define fix %{nil}
+%define dirrel 20060206
+%define reltype Preview-2
+%define magicstr %{nil}
+%else
+%define ver 9.00
+%define sver 9.0
+%define magicstr 344
+%define fix %{nil}
+%define dirrel 20060616
%define reltype final
+%endif
+%endif
+
+%define shver %(echo %{ver} | tr -d .)%{fix}
%define x86_shared_rel %{dirrel}.5
%define x86_static_rel %{dirrel}.1
%define sparc_shared_rel %{dirrel}.2
%define sparc_static_rel %{dirrel}.1
-%define ppc_shared_rel %{dirrel}.2
+%define ppc_shared_rel %{dirrel}.3
%define ppc_static_rel %{dirrel}.1
%if %{with shared}
%define type shared
-%ifarch %{ix86}
+# We should be able to build src.rpm also on not supported archs
%define rel %{x86_shared_rel}
-%endif
%ifarch sparc64 sparc
-%define rel %{sparc_shared_rel}
+#%%define rel %{sparc_shared_rel}
+%define rel %{sparc_static_rel}
%endif
%ifarch ppc
%define rel %{ppc_shared_rel}
%endif
%else
%define type static
-%ifarch %{ix86}
%define rel %{x86_static_rel}
-%endif
%ifarch sparc sparc64
%define rel %{sparc_static_rel}
%endif
%endif
%endif
-Summary: World fastest web browser
-Summary(pl): Najszybsza przegl±darka WWW na ¶wiecie
-Name: opera
-Version: %{ver}.%{rel}
-Release: 1
-License: Restricted, see file LICENSE
-Group: X11/Applications/Networking
-%if %{without shared}
-%ifarch %{ix86}
-%if %{notsnap}
-Source0: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/static/%{name}-%{ver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
+# 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
+%define need_ix86_static 0
+%define need_sparc_static 0
+%define need_ppc_static 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 0
+%define need_ppc_shared_snap 1
%else
-Source0: http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{ver}-%{x86_static_rel}-static-qt.i386-en.tar.bz2
+# with shared: [else]
+%define need_ix86_static_snap 1
+%define need_sparc_static_snap 1
+%define need_ppc_static_snap 1
%endif
-NoSource: 0
+# 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_ppc_shared 1
+%else
+# with shared: [else]
+%define need_ix86_static 1
+%define need_sparc_static 1
+%define need_ppc_static 1
%endif
-%ifarch sparc64 sparc
-%if %{notsnap}
-Source1: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/static/%{name}-%{ver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
+# 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
-Source1: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
+# with shared: [else]
+%define need_ix86_static_snap 1
%endif
-NoSource: 1
+# 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
-%ifarch ppc
-%if %{notsnap}
-Source2: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/static/%{name}-%{ver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
+# with shared; [endif]
+%endif
+# with snap; [endif]
+%endif
+# is ix86; [endif]
+%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
-Source2: http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
+# with shared: [else]
+%define need_sparc_static_snap 1
%endif
-NoSource: 2
+# with shared; [endif]
+%else
+# with snap: [else]
+%if %{with shared}
+# with shared? [if]
+#%%define need_sparc_shared 1
+%define need_sparc_static 1
+%else
+# with shared: [else]
+%define need_sparc_static 1
+%endif
+# with shared; [endif]
%endif
+# with snap; [endif]
+%endif
+# is sparc; [endif]
+%ifarch ppc
+# is ppc? [if]
+%if %{with snap}
+# with snap? [if]
+%if %{with shared}
+# with shared? [if]
+%define need_ppc_shared_snap 1
%else
-%ifarch %{ix86}
-%if %{notsnap}
-Source20: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/i386/shared/%{name}-%{ver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+# with shared: [else]
+%define need_ppc_static_snap 1
+%endif
+# with shared; [endif]
%else
-Source20: http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{ver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+# with snap: [else]
+%if %{with shared}
+# with shared? [if]
+%define need_ppc_shared 1
+%else
+# with shared: [else]
+%define need_ppc_static 1
%endif
-NoSource: 20
+# with shared; [endif
%endif
-%ifarch sparc sparc64
-%if %{notsnap}
-Source21: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/sparc/shared/gcc-2.95/%{name}-%{ver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+# with snap; [endif
+%endif
+# is ppc; [endif]
+%endif
+# with incall; [endif]
+
+Summary: World fastest web browser
+Summary(pl): Najszybsza przegl±darka WWW na ¶wiecie
+Name: opera
+Version: %{ver}%{fix}
+Release: %{?with_snap:1.%{rel}.}2
+Epoch: 2
+License: Distributable for PLD until 31 Dec 2006 - http://distribute.opera.com/ (otherwise restricted, see file LICENSE)
+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-%{magicstr}.tar.bz2
+# Source0-md5: 54a29d830506e6c9381a305e0353055c
+%{!?with_distributable:NoSource: 0}
+%endif
+
+%if %{need_ix86_static_snap}
+%if %{with weekly}
+Source30100: http://snapshot.opera.com/unix/Weekly-%{magicstr}/intel-linux/%{name}-%{sver}-%{x86_static_rel}-static-qt.i386-en-%{magicstr}.tar.bz2
%else
-Source21: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+Source100: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/intel-linux/%{name}-%{sver}-%{x86_static_rel}-static-qt.i386-en-%{magicstr}.tar.bz2
%endif
-NoSource: 21
+%{!?with_distributable:NoSource: 100}
%endif
-%ifarch ppc
-%if %{notsnap}
-Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/shared/gcc-2.95/%{name}-%{ver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+
+%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-%{magicstr}.tar.bz2
+# Source1-md5: 69111e768dbb3a0e7b84e1d982655db5
+%{!?with_distributable:NoSource: 1}
+%endif
+
+%if %{need_sparc_static_snap}
+Source101: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/sparc-linux/%{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-%{magicstr}.tar.bz2
+# Source2-md5: b86bbd1b1ca2e146c30bfedcbe4403d0
+%{!?with_distributable:NoSource: 2}
+%endif
+
+%if %{need_ppc_static_snap}
+%if %{with weekly}
+Source30102: http://snapshot.opera.com/unix/Weekly-%{magicstr}/ppc-linux/%{name}-%{sver}-%{ppc_static_rel}-static-qt.ppc-en-%{magicstr}.tar.bz2
+%else
+Source102: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/ppc-linux/%{name}-%{sver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
+%endif
+%{!?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-%{magicstr}.tar.bz2
+# Source20-md5: e1fec5d7a0ab7445856a17ac534e45ce
+%{!?with_distributable:NoSource: 20}
+%endif
+
+%if %{need_ix86_shared_snap}
+%if %{with weekly}
+Source301020: http://snapshot.opera.com/unix/Weekly-%{magicstr}/intel-linux/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en-%{magicstr}.tar.bz2
+# Source301020-md5: e1fec5d7a0ab7445856a17ac534e45ce
%else
-Source22: http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+Source1020: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/intel-linux/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+# Source1020-md5: 6f296be6b9fc3001588d4509016062bd
+%{!?with_distributable:NoSource: 1020}
%endif
-NoSource: 22
%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-%{magicstr}.tar.bz2
+# Source21-md5: 883df8058672cf52678a07d714dcfce
+%{!?with_distributable:NoSource: 21}
+%endif
+
+%if %{need_sparc_shared_snap}
+Source1021: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/sparc-linux/%{name}-%{sver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+# Source1021-md5: e190021f5530de3f711006cd9f6bb339
+%{!?with_distributable:NoSource: 1021}
%endif
-Source3: ftp://ftp.opera.com/pub/opera/unix/lng/721/pl/ou721_480pl.lng
+
+%if %{need_ppc_shared}
+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-%{magicstr}.tar.bz2
+# Source22-md5: 65293d788e18d0c23cccac71b9fe567c
+%{!?with_distributable:NoSource: 22}
+%endif
+
+%if %{need_ppc_shared_snap}
+%if %{with weekly}
+Source301022: http://snapshot.opera.com/unix/Weekly-%{magicstr}/ppc-linux/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en-%{magicstr}.tar.bz2
+# Source301022-md5: 65293d788e18d0c23cccac71b9fe567c
+%else
+Source1022: http://snapshot.opera.com/unix/%{ver}-%{reltype}/%{magicstr}/ppc-linux/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+# Source1022-md5: 74985fa6da49b2e54c9d03dab1119325
+%{!?with_distributable:NoSource: 1022}
+%endif
+%endif
+
Source4: %{name}.desktop
+
URL: http://www.opera.com/
-ExclusiveArch: %{ix86} ppc sparc sparc64
+BuildRequires: sed >= 4.0
Requires: freetype >= 2
-Requires: openmotif >= 2
+Provides: wwwbrowser
+ExclusiveArch: %{ix86} ppc sparc sparc64
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. Only disadvantage are
-advertisements on the top of its window. 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ñ HTMLa. Dodatkowo jest w miarê stabilna. Jedyn±
-niedogodno¶ci± s± reklamy ukazuj±ce siê w górze okna. Wersja
-statycznie skonsolidowana z qt.
+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 %{?with_shared:-T -b 20} -n %{name}-%{ver}-%{rel}-%{type}-qt.i386-en
+%setup -q -T -b %{?with_weekly:30}%{?with_snap:10}%{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en-%{magicstr}
%endif
%ifarch sparc sparc64
-%setup -q -T -b %{?with_shared:2}1 -n %{name}-%{ver}-%{rel}-%{type}-qt.sparc-en
+%setup -q -T -b %{?with_weekly:30}%{?with_snap:10}%{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en-%{magicstr}
%endif
%ifarch ppc
-%setup -q -T -b %{?with_shared:2}2 -n %{name}-%{ver}-%{rel}-%{type}-qt.ppc-en
+%setup -q -T -b %{?with_weekly:30}%{?with_snap:10}%{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en-%{magicstr}
%endif
+%{__sed} -i -e 's|OPERA_SCRIPT_PATH=$0|OPERA_SCRIPT_PATH=|' install.sh
+
%install
rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir}}
-install -d $RPM_BUILD_ROOT{/etc,%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}}
-
-cat install.sh | sed 's|/etc|$RPM_BUILD_ROOT%{_sysconfdir}|' > install2.sh
-mv install2.sh install.sh
-
-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%{_datadir}/opera/bin \
- --plugindir=$RPM_BUILD_ROOT%{_plugindir}
-
-# Polish locale
-install %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/opera/locale/polish.lng
-
-# man install
-install man/opera.1 $RPM_BUILD_ROOT%{_mandir}/man1
-
-# wrapper correction
-sed s#$RPM_BUILD_ROOT## > $RPM_BUILD_ROOT%{_bindir}/opera2 $RPM_BUILD_ROOT%{_bindir}/opera
-mv $RPM_BUILD_ROOT%{_bindir}/opera2 $RPM_BUILD_ROOT%{_bindir}/opera
+ DESTDIR=$RPM_BUILD_ROOT \
+ --prefix=%{_prefix} \
+ --exec_prefix=%{_libdir}/opera/bin \
+ --docdir=%{_operadocdir}
# install in kde etc.
install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
-
install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
-# symlink który niweluje burkanie siê opery :>
-#ln -sf %{_datadir}/opera/ $RPM_BUILD_ROOT/usr/share/
-#ln -sf %{_libdir}/opera $RPM_BUILD_ROOT/usr/lib/
-
-sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_datadir}/opera/java/*.policy
-
-# always use wrapper linked with libXm.so.3
-rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
-ln -sf operamotifwrapper-3 $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
-
-# %{_libdir} is not the best place for it but opera doesn't search for it in better
-# places :/
-install lib/spellcheck.so $RPM_BUILD_ROOT%{_libdir}
+mv -f $RPM_BUILD_ROOT%{_datadir}/%{name}/config $RPM_BUILD_ROOT/etc
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc LICENSE bugreport help
+%doc LICENSE
+%config(noreplace) %verify(not md5 mtime size) /etc/opera*rc*
%attr(755,root,root) %{_bindir}/*
+%dir %{_libdir}/opera
+%dir %{_libdir}/opera/bin
+%attr(755,root,root) %{_libdir}/opera/bin/*
+%dir %{_plugindir}
+%attr(755,root,root) %{_plugindir}/*
%dir %{_datadir}/opera
-%dir %{_datadir}/opera/bin
-%attr(755,root,root) %{_datadir}/opera/bin/*
-%{_datadir}/opera/config
-%{_datadir}/opera/help
+%{_datadir}/opera/*.*
%{_datadir}/opera/images
+%{_datadir}/opera/ini
%{_datadir}/opera/java
-%{_datadir}/opera/locale
%{_datadir}/opera/skin
%{_datadir}/opera/styles
-%{_datadir}/opera/ini
-%{_datadir}/opera/search.ini
-%{_datadir}/opera/*.html
-%{_datadir}/opera/*.ssr
-%{_datadir}/opera/*.txt
-%ifarch %{ix86}
-%attr(755,root,root) %{_datadir}/opera/chartables.bin
-%endif
-%ifarch ppc
-%attr(755,root,root) %{_datadir}/opera/chartables-be.bin
-%endif
-%attr(755,root,root) %{_datadir}/opera/opera6.adr
-%attr(755,root,root) %{_libdir}/*.so
-%dir %{_libdir}/opera
-%dir %{_plugindir}
-%attr(755,root,root) %{_plugindir}/*
-
-%{_pixmapsdir}/opera.xpm
+%dir %{_datadir}/opera/locale
+%{_datadir}/opera/locale/en
+%{_datadir}/opera/locale/english.lng
%{_desktopdir}/*.desktop
-
%{_mandir}/man1/opera.1*
+%{_pixmapsdir}/opera.xpm