]> git.pld-linux.org Git - packages/opera.git/blobdiff - opera.spec
- include snapshot version in release, to be able to upgrade from snapshots
[packages/opera.git] / opera.spec
index 1179b662aa23308d11032f6299f22c7edb7d2a24..6e72f65fb7c187ebe68a1d3b5a2e77d1f4f27c0f 100644 (file)
@@ -1,37 +1,50 @@
+# TODO:
+# - move translations into a separate, noarch package
 #
-# There're some problems with "shared" version
-#
-%bcond_with    shared
-
-%define        ver             7.50
-%define shver          %(echo %{ver} | tr -d .)
-%define        dirrel          20040422
-# is this snap or beta/final release?
-%define        notsnap         1
-# type of release, usually final or beta or Preview-4 for snaps
-%define        reltype         beta1
-%define        x86_shared_rel          %{dirrel}.5
+%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}.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:       0.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  1
+%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
-%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]
 %else
-Source1:       http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_static_rel}-static-qt.sparc-en.tar.bz2
+#              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
-NoSource:      1
+#                      with shared;    [endif]
 %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 snap;      [endif]
 %else
-Source2:       http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_static_rel}-static-qt.ppc-en.tar.bz2
-%endif
-NoSource:      2
+#      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
-%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 snap:      [else]
+%if    %{with shared}
+#                              with shared?    [if]
+%define        need_ix86_shared        1
 %else
-Source20:      http://snapshot.opera.com/unix/%{ver}-%{reltype}/intel-linux/en/%{name}-%{ver}-%{x86_shared_rel}-shared-qt.i386-en.tar.bz2
+#                              with shared:    [else]
+%define        need_ix86_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 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
-Source21:      http://snapshot.opera.com/unix/%{ver}-%{reltype}/sparc-linux/en/%{name}-%{ver}-%{sparc_shared_rel}-shared-qt.sparc-en.tar.bz2
+#                              with shared:    [else]
+%define        need_sparc_static_snap  1
 %endif
-NoSource:      21
+#                              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
-%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
+#                              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
-Source22:      http://snapshot.opera.com/unix/%{ver}-%{reltype}/ppc-linux/en/%{name}-%{ver}-%{ppc_shared_rel}-shared-qt.ppc-en.tar.bz2
+#                              with shared:    [else]
+%define        need_ppc_static 1
+%endif
+#                              with shared;    [endif
 %endif
-NoSource:      22
+#                      with snap;      [endif
 %endif
+#              is ppc;         [endif]
 %endif
-Source3:       ftp://ftp.opera.com/pub/opera/unix/lng/721/pl/ou721_480pl.lng
+#      with incall;    [endif]
+
+Summary:       World fastest web browser
+Summary(pl):   Najszybsza przegl±darka WWW na ¶wiecie
+Name:          opera
+Version:       %{ver}%{fix}
+Release:       %{?with_snap:0.%{rel}.}1
+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.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
+
 URL:           http://www.opera.com/
 ExclusiveArch: %{ix86} ppc sparc sparc64
 Requires:      freetype >= 2
 Requires:      openmotif >= 2
+BuildRequires: sed >= 4.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _plugindir      %{_libdir}/opera/plugins
@@ -118,105 +286,92 @@ 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±
+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.
 
 %prep
 %ifarch %{ix86}
-%setup -q %{?with_shared:-T -b 20} -n %{name}-%{ver}-%{rel}-%{type}-qt.i386-en
+%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_shared:2}1 -n %{name}-%{ver}-%{rel}-%{type}-qt.sparc-en
+%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_shared:2}2 -n %{name}-%{ver}-%{rel}-%{type}-qt.ppc-en
+%setup -q -T -b %{?with_snap:10}%{?with_shared:2}2 -n %{name}-%{sver}-%{rel}-%{type}-qt.ppc-en
 %endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT{/etc,%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}}
+install -d $RPM_BUILD_ROOT{/etc,%{_libdir},%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}}
+ln -s $RPM_BUILD_ROOT/etc  $RPM_BUILD_ROOT%{_prefix}/etc
 
-cat install.sh | sed 's|/etc|$RPM_BUILD_ROOT%{_sysconfdir}|' > install2.sh
-mv install2.sh install.sh
+sed -i -e 's|/etc|$RPM_BUILD_ROOT%{_sysconfdir}|' 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/
+       --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}
 
 # 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
+sed -i -e "s#$RPM_BUILD_ROOT##" $RPM_BUILD_ROOT%{_bindir}/opera
 
 # 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
+# always use latest possible wrapper
 rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper
-ln -sf operamotifwrapper-3 $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
 
-# %{_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}
-
-# so big hack that you shouldn't even ask
-objdump -p $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-3 2>&1 | grep -E -q "NEEDED.*libXm.so.3" && %{__perl} -pi -e 's#libXm.so.3#libXm.so.4#g' $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins/operamotifwrapper-3
+# 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 help
+%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
-%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
-%{_libdir}/*.so
-%dir %{_libdir}/opera
-%dir %{_plugindir}
-%attr(755,root,root) %{_plugindir}/*
-
+%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*
This page took 0.138401 seconds and 4 git commands to generate.