# - HEAD - stable version
# - DEVEL - development version
# - WEEKLY - weekly development version
-
-# TODO:
-# - move translations into a separate, noarch package
+# - NEXT - opera next
+#
+# NOTE: to avoid creating unreadable/unmaintainable spec:
+# - don't put static version here, create STATIC branch for that for example
+# - don't create useless bconds that for example limit SourceX: to current arch only
#
-%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)
-
-%define ver 9.24
-%define sver 9.24
-%define fix %{nil}
-%define dirrel 20071015
-%define reltype final
-%define magicstr 671
-
-%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}.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 sparc sparcv9
- %define rel %{sparc_shared_rel}
- %else
- %ifarch ppc
- %define rel %{ppc_shared_rel}
- %endif
- %endif
-%else
- %define type static
- %define rel %{x86_static_rel}
- %ifarch sparc sparcv9
- %define rel %{sparc_static_rel}
- %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 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}
- %if %{with shared}
- %define need_ix86_shared 1
- %define need_sparc_shared 1
- %define need_ppc_shared 1
- %else
- %define need_ix86_static 1
- %define need_sparc_static 1
- %define need_ppc_static 1
- %endif
-%else
- %ifarch sparc sparc64
- %if %{with shared}
- %define need_sparc_shared 1
- %else
- %define need_sparc_static 1
- %endif
- %endif
- %ifarch ppc
- %if %{with shared}
- %define need_ppc_shared 1
- %else
- %define need_ppc_static 1
- %endif
- %endif
-%endif
-%define _rel 2
-Summary: World fastest web browser
+Summary: Opera browser
+Summary(hu.UTF-8): A világ leggyorsabb webböngészője
Summary(pl.UTF-8): Najszybsza przeglądarka WWW na świecie
Name: opera
-Version: %{ver}%{fix}
-Release: %{_rel}
+Version: 31.0.1889.174
+Release: 0.7
Epoch: 2
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: 96b8010ddb0ff250817c7fb314de2d26
-%{!?with_distributable:NoSource: 0}
-%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: c8443b4b83b21a56fdd8dc3526eaf46f
-%{!?with_distributable:NoSource: 1}
-%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: be68f701224493bbd9a6d62df8eb9b19
-%{!?with_distributable:NoSource: 2}
-%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: e7d934c0fe9ce0ef7cec67981b71332d
-%{!?with_distributable:NoSource: 20}
-%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: 84df0097ac9c52e95bc74e73407386ee
-%{!?with_distributable:NoSource: 21}
-%endif
-
-
-%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.tar.bz2
-# Source22-md5: 07f97223ffcb2d2ab87c921ead880018
-%{!?with_distributable:NoSource: 22}
-%endif
-
-Source4: %{name}.desktop
-Patch0: %{name}-wrapper.patch
+Source10: ftp://ftp.opera.com/pub/opera/desktop/%{version}/linux/%{name}-stable_%{version}_amd64.deb
+# Source10-md5: 71d13017ca60bbf4619dc3faf58fd94e
+Source0: %{name}.desktop
+Source1: %{name}.sh
+Patch1: %{name}-desktop.patch
+Patch2: pepper_flash_config.patch
URL: http://www.opera.com/
+BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpmbuild(macros) >= 1.356
BuildRequires: sed >= 4.0
+BuildRequires: xz
+Requires(post,postun): gtk-update-icon-cache
+Requires(post,postun): hicolor-icon-theme
Requires: browser-plugins >= 2.0
-Requires: freetype >= 2
+Requires: desktop-file-utils
Provides: wwwbrowser
-ExclusiveArch: %{ix86} ppc sparc sparcv9
+Obsoletes: opera-i18n
+ExclusiveArch: %{x8664}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _plugindir %{_libdir}/opera/plugins
-%define _operadocdir %{_docdir}/%{name}-%{ver}
+%define _enable_debug_packages 0
+%define no_install_post_strip 1
%description
Opera is world fastest web browser. It supports most of nowaday
-extensions of HTML. And it is quite stable. This version is %{?with_shared:shared}%{!?with_shared:statically}
-linked with Qt.
+extensions of HTML. And it is quite stable. This version is linked
+with shared version of Qt.
+
+%description -l hu.UTF-8
+Opera a világ leggyorsabb webböngészője. A manapság elterjedt
+HTML-kiterjesztések túlnyomó többségét támogatja. És elég stabili is.
+Ez a verzió a Qt megosztott verziójához linkelődik.
%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.
+wersja jest skonsolidowana dynamicznie z Qt.
%prep
-%ifarch %{ix86}
-%setup -q -T -b %{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en%{?magicstr:-%{magicstr}}
+%setup -qcT
+%ifarch %{x8664}
+SOURCE=%{S:10}
%endif
-%ifarch sparc sparcv9
-%setup -q -T -b %{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en-%{?magicstr:-%{magicstr}}
-%endif
-%ifarch ppc
-%setup -q -T -b %{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en%{?magicstr:-%{magicstr}}
-%endif
-%patch0 -p1
+
+ar x $SOURCE
+tar xf control.tar.gz && rm control.tar.gz
+tar xf data.tar.xz && rm data.tar.xz
+
+version=$(awk '/Version:/{print $2}' control)
+test $version = %{version}
+
+mv usr/lib/*/%{name}/* .
+mv usr/share/icons .
+mv usr/share/pixmaps/%{name}.xpm .
+mv usr/share/applications/%{name}.desktop .
+mv usr/share/doc/opera-stable/* .
+
+%patch1 -p1
+%patch2 -p1
+
+sed -e 's#/usr/lib/opera#%{_libdir}/opera#g' %{_sourcedir}/%{name}.sh > %{name}.sh
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_pixmapsdir},%{_desktopdir},%{_sysconfdir}}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_bindir},%{_libdir}/%{name}/plugins,%{_datadir}/%{name}} \
+ $RPM_BUILD_ROOT{%{_pixmapsdir},%{_iconsdir},%{_desktopdir}}
%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins -b <<'EOF'
# opera does not use for .xpt files
*.xpt
-
-# use mplayerplug-in-opera instead
-mplayerplug-in*
-
-# opera uses libjava.so to run java
-libjavaplugin_oji.so
EOF
-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 %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir}
-
-mv -f $RPM_BUILD_ROOT%{_datadir}/%{name}/config/* $RPM_BUILD_ROOT%{_sysconfdir}
-install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -a localization resources $RPM_BUILD_ROOT%{_datadir}/%{name}
+cp -p *.pak *.bin *.dat $RPM_BUILD_ROOT%{_libdir}/%{name}
+cp -a lib $RPM_BUILD_ROOT%{_libdir}/%{name}
+ln -s %{_datadir}/%{name}/localization $RPM_BUILD_ROOT%{_libdir}/%{name}/localization
+ln -s %{_datadir}/%{name}/resources $RPM_BUILD_ROOT%{_libdir}/%{name}/resources
+install -p %{name} $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -p %{name}_sandbox $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -p %{name}_crashreporter $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -p %{name}_autoupdate $RPM_BUILD_ROOT%{_libdir}/%{name}
+cp -p %{name}_autoupdate.* $RPM_BUILD_ROOT%{_libdir}/%{name}
+install -p %{name}.sh $RPM_BUILD_ROOT%{_bindir}/%{name}
+cp -p %{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}
+cp -a icons/* $RPM_BUILD_ROOT%{_iconsdir}
%clean
rm -rf $RPM_BUILD_ROOT
%post
+%update_icon_cache hicolor
+%update_desktop_database
%update_browser_plugins
%postun
if [ "$1" = 0 ]; then
+ %update_icon_cache hicolor
+ %update_desktop_database
%update_browser_plugins
fi
%files
%defattr(644,root,root,755)
-%doc LICENSE
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/opera*rc*
-
-# browser plugins v2
+%doc copyright
%{_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) %{_libdir}/opera/bin/*
-%dir %{_plugindir}
-%attr(755,root,root) %{_plugindir}/*
-%dir %{_datadir}/opera
-%{_datadir}/opera/*.*
-%{_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
+%attr(755,root,root) %{_bindir}/%{name}
%{_desktopdir}/*.desktop
-%{_mandir}/man1/opera.1*
-%{_pixmapsdir}/opera.xpm
+%{_iconsdir}/hicolor/*/*/*.png
+
+%dir %{_datadir}/%{name}
+%dir %{_datadir}/%{name}/resources
+%{_datadir}/%{name}/resources/*.ico
+%{_datadir}/%{name}/resources/*.json
+%{_datadir}/%{name}/resources/dictionaries.xml
+%{_datadir}/%{name}/resources/inspector
+%{_datadir}/%{name}/localization
+
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/icudtl.dat
+%{_libdir}/%{name}/natives_blob.bin
+%{_libdir}/%{name}/snapshot_blob.bin
+%{_libdir}/%{name}/*.pak
+%{_libdir}/%{name}/localization
+%{_libdir}/%{name}/resources
+%dir %{_libdir}/%{name}/lib
+%attr(755,root,root) %{_libdir}/%{name}/lib/libffmpeg.so.*
+%attr(755,root,root) %{_libdir}/%{name}/lib/libmalloc_wrapper.so
+%dir %{_libdir}/%{name}/plugins
+
+%attr(755,root,root) %{_libdir}/%{name}/%{name}
+%attr(755,root,root) %{_libdir}/%{name}/%{name}_crashreporter
+
+%attr(755,root,root) %{_libdir}/%{name}/%{name}_autoupdate
+%{_libdir}/%{name}/%{name}_autoupdate.licenses
+%{_libdir}/%{name}/%{name}_autoupdate.version
+
+# These unique permissions are intentional and necessary for the sandboxing
+%attr(4555,root,root) %{_libdir}/%{name}/%{name}_sandbox