X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=opera.spec;h=4bc406d1d40b3761ed5c74f3ec037e72bcac3561;hb=504a2c0;hp=9543887a581a370a103824511397bce581ad4eda;hpb=de81cf52e4faf9ba1c5e39b8b970d9eb3b7864ec;p=packages%2Fopera.git diff --git a/opera.spec b/opera.spec index 9543887..8d7f427 100644 --- a/opera.spec +++ b/opera.spec @@ -1,377 +1,158 @@ -# TODO: -# - move translations into a separate, noarch package +# BRANCHES: +# - HEAD - stable version +# - DEVEL - development version +# - WEEKLY - weekly development version +# - 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) -%bcond_with snap # snap version - -%ifarch sparc64 sparc -%undefine with_shared -%endif - -%if %{with snap} -%define ver 8.01 -%define sver %{ver} -%define fix %{nil} -%define dirrel 20050509 -%define reltype Preview-1 -%else -%define ver 8.01 -%define sver 8.01 -%define fix %{nil} -%define dirrel 20050602 -%define reltype final -%endif - -%define shver %(echo %{ver} | tr -d .)%{fix} -%define x86_shared_rel %{dirrel}.4 -%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 sparc64 sparc -#%%define rel %{sparc_shared_rel} -%define rel %{sparc_static_rel} -%endif -%ifarch ppc -%define rel %{ppc_shared_rel} -%endif -%else -%define type static -%define rel %{x86_static_rel} -%ifarch sparc sparc64 -%define rel %{sparc_static_rel} -%endif -%ifarch ppc -%define rel %{ppc_static_rel} -%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 -%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 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_ppc_shared 1 -%else -# with shared: [else] -%define need_ix86_static 1 -%define need_sparc_static 1 -%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] -%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 -%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 -# 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 -%else -# with shared: [else] -%define need_ppc_static 1 -%endif -# with shared; [endif -%endif -# with snap; [endif -%endif -# is ppc; [endif] -%endif -# with incall; [endif] -Summary: World fastest web browser -Summary(pl): Najszybsza przegl±darka WWW na ¶wiecie +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}%{?with_snap:.%{rel}} -Release: 1 +Version: 31.0.1889.174 +Release: 0.6 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: 94d1d86f42d9aa912c288e47c4b3893f -%{!?with_distributable:NoSource: 0} -%endif - -%if %{need_ix86_static_snap} -Source100: http://snapshot.opera.com/unix/%{ver}-%{reltype}/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/en/%{name}-%{sver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2 -# Source1-md5: a2a0eab9c4e45d55f2b93c87c80448be -%{!?with_distributable:NoSource: 1} -%endif - -%if %{need_sparc_static_snap} -Source101: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{sver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2 -# Source101-md5: 913ccb28106f9f5acd3d9e4c8dc71ae1 -%{!?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: 5fe172a95df147f709af5bff021edc15 -%{!?with_distributable:NoSource: 2} -%endif - -%if %{need_ppc_static_snap} -Source102: http://snapshot.opera.com/unix/%{ver}-%{reltype}/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/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2 -# Source20-md5: 1cf47863f9fd9d5838b704481beb7c1a -%{!?with_distributable:NoSource: 20} -%endif - -%if %{need_ix86_shared_snap} -Source1020: http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{sver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2 -# Source1020-md5: e3602032ae454a86cc2854685043c1aa -%{!?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: 883df8058672cf52678a07d7194dcfce -%{!?with_distributable:NoSource: 21} -%endif - -%if %{need_sparc_shared_snap} -Source1021: http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{sver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2 -# Source1021-md5: e98aeabb57962b6577a10d43c7b3efa0 -%{!?with_distributable:NoSource: 1021} -%endif - -%if %{need_ppc_shared} -Source22: ftp://ftp.opera.com/pub/opera/linux/%{shver}/%{reltype}/en/ppc/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2 -# Source22-md5: b005627dadd4664e6b2ff06b860d1e33 -%{!?with_distributable:NoSource: 22} -%endif - -%if %{need_ppc_shared_snap} -Source1022: http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{sver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2 -# Source1022-md5: 50836edd6eae80c202edea641229a902 -%{!?with_distributable:NoSource: 1022} -%endif - -Source4: %{name}.desktop - +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 URL: http://www.opera.com/ -ExclusiveArch: %{ix86} ppc sparc sparc64 -Requires: freetype >= 2 -Requires: openmotif >= 2 +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: desktop-file-utils +Provides: wwwbrowser +Obsoletes: opera-i18n +ExclusiveArch: %{x8664} 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 _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. 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 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 -Opera jest najszybsz± przegl±dark± WWW na ¶wiecie. Obs³uguje wiêkszo¶æ -dzisiejszych rozszerzeñ HTML-a. Dodatkowo jest w miarê stabilna. Jedyn± -niedogodno¶ci± s± reklamy ukazuj±ce siê w górze okna. 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 dynamicznie z Qt. %prep -%ifarch %{ix86} -%setup -q -T -b %{?with_snap:10}%{?with_shared:2}0 -n %{name}-%{sver}-%{rel}-%{type}-qt.i386-en -%endif -%ifarch sparc sparc64 -%setup -q -T -b %{?with_snap:10}%{?with_shared:2}1 -n %{name}-%{sver}-%{rel}-%{type}-qt.sparc-en -%endif -%ifarch ppc -%setup -q -T -b %{?with_snap:10}%{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en +%setup -qcT +%ifarch %{x8664} +SOURCE=%{S:10} %endif -%install -rm -rf $RPM_BUILD_ROOT - -install -d $RPM_BUILD_ROOT{/etc,%{_libdir},%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}} -ln -s $RPM_BUILD_ROOT/etc $RPM_BUILD_ROOT%{_prefix}/etc +ar x $SOURCE +tar xf control.tar.gz && rm control.tar.gz +tar xf data.tar.xz && rm data.tar.xz -sed -i -e 's|/etc|$RPM_BUILD_ROOT%{_sysconfdir}|' install.sh +version=$(awk '/Version:/{print $2}' control) +test $version = %{version} -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} +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/* . -# man install -install man/opera.1 $RPM_BUILD_ROOT%{_mandir}/man1 +%patch1 -p1 -# wrapper correction -sed -i -e "s#$RPM_BUILD_ROOT##" $RPM_BUILD_ROOT%{_bindir}/opera +sed -e 's#/usr/lib/opera#%{_libdir}/opera#g' %{_sourcedir}/%{name}.sh > %{name}.sh -# install in kde etc. -install images/opera.xpm $RPM_BUILD_ROOT%{_pixmapsdir} +%install +rm -rf $RPM_BUILD_ROOT +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 +EOF + +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} -install %{SOURCE4} $RPM_BUILD_ROOT%{_desktopdir} +%clean +rm -rf $RPM_BUILD_ROOT -sed -i -e "s#$RPM_BUILD_ROOT##g" $RPM_BUILD_ROOT%{_datadir}/opera/java/*.policy +%post +%update_icon_cache hicolor +%update_desktop_database +%update_browser_plugins -# 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 +%postun +if [ "$1" = 0 ]; then + %update_icon_cache hicolor + %update_desktop_database + %update_browser_plugins fi -# clean unneeded files -rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/config - -%clean -rm -rf $RPM_BUILD_ROOT - %files %defattr(644,root,root,755) -%doc LICENSE bugreport -%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/images -%{_datadir}/opera/ini -%{_datadir}/opera/java -%{_datadir}/opera/skin -%{_datadir}/opera/styles -%dir %{_datadir}/opera/locale -%{_datadir}/opera/locale/en -%{_datadir}/opera/locale/english.lng -%{_pixmapsdir}/opera.xpm -%{_desktopdir}/*.desktop +%doc copyright +%{_browserpluginsconfdir}/browsers.d/%{name}.* +%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist -%{_mandir}/man1/opera.1* - -%config(noreplace) %verify(not md5 size mtime) /etc/opera*rc* +%attr(755,root,root) %{_bindir}/%{name} +%{_desktopdir}/*.desktop +%{_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