Hello community, here is the log from the commit of package octave for openSUSE:Factory checked in at 2015-06-01 09:53:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/octave (Old) and /work/SRC/openSUSE:Factory/.octave.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "octave" Changes: -------- --- /work/SRC/openSUSE:Factory/octave/octave.changes 2015-02-24 13:07:16.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.octave.new/octave.changes 2015-06-01 09:53:22.000000000 +0200 @@ -1,0 +2,12 @@ +Fri May 29 22:08:34 UTC 2015 - dmitry_r@opensuse.org + +- Update to version 4.0.0 + * See icluded NEWS file for details +- Drop obsolete patches: + * octave-3.8.0-llvm-3.4.patch + * octave-suitesparse-4.4.patch + * octave-unzip-info-in-gui.patch +- Add RPM macros to octave-devel package + * octave.macros + +------------------------------------------------------------------- Old: ---- octave-3.8.0-llvm-3.4.patch octave-3.8.2.tar.bz2 octave-suitesparse-4.4.patch octave-unzip-info-in-gui.patch New: ---- octave-4.0.0.tar.xz octave.macros ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ octave.spec ++++++ --- /var/tmp/diff_new_pack.XUoMIB/_old 2015-06-01 09:53:24.000000000 +0200 +++ /var/tmp/diff_new_pack.XUoMIB/_new 2015-06-01 09:53:24.000000000 +0200 @@ -27,6 +27,8 @@ # Image processing library # Default variant - GraphicsMagick %define with_imagemagick 0 +# Sound IO +%define with_sound 1 # SLE11 %if 0%{?suse_version} == 1110 @@ -43,21 +45,18 @@ %endif Name: octave -Version: 3.8.2 +Version: 4.0.0 Release: 0 +# Required for RC builds, in this case version contains ~rc, src_ver -rc +%define src_ver %{version} Summary: A High Level Programming Language License: GPL-3.0+ Group: Productivity/Scientific/Math -%define apiver v49+ +%define apiver v50+ Url: http://www.octave.org/ -Source: ftp://ftp.gnu.org/gnu/octave/%{name}-%{version}.tar.bz2 +Source: ftp://ftp.gnu.org/gnu/octave/%{name}-%{src_ver}.tar.xz Source2: octave.pc.in -# PATCH-FIX-UPSTREAM octave-3.8.0-llvm-3.4.patch -- https://savannah.gnu.org/bugs/?41061 -Patch1: octave-3.8.0-llvm-3.4.patch -# PATCH-FIX-UPSTREAM octave-suitesparse-4.4.patch -- http://savannah.gnu.org/bugs/?43063 -Patch2: octave-suitesparse-4.4.patch -# PATCH-FIX-UPSTREAM octave-unzip-info-in-gui.patch -Patch3: octave-unzip-info-in-gui.patch +Source3: octave.macros BuildRequires: arpack-ng-devel BuildRequires: bison BuildRequires: blas-devel @@ -73,9 +72,6 @@ BuildRequires: gnuplot BuildRequires: gperf BuildRequires: hdf5-devel -%if 0%{?with_java} -BuildRequires: java-devel -%endif BuildRequires: lapack-devel %if 0%{?with_imagemagick} BuildRequires: libMagick++-devel @@ -84,13 +80,6 @@ %endif BuildRequires: libcurl-devel BuildRequires: liblcms-devel -%if 0%{?with_gui} -BuildRequires: libqscintilla-devel -BuildRequires: libqt4-devel -%endif -%if 0%{?with_jit} -BuildRequires: llvm-devel -%endif BuildRequires: pcre-devel BuildRequires: pkg-config BuildRequires: qhull-devel @@ -103,12 +92,32 @@ BuildRequires: texlive-dvips %endif BuildRequires: texlive-latex -BuildRequires: xorg-x11-libSM-devel -BuildRequires: xorg-x11-libX11-devel -BuildRequires: xorg-x11-libXext-devel +BuildRequires: xz BuildRequires: zlib-devel +# GUI build requires +%if 0%{?with_gui} +BuildRequires: desktop-file-utils +BuildRequires: hicolor-icon-theme +BuildRequires: libqt4-devel +BuildRequires: qscintilla-devel +Obsoletes: octave-gui < 4.0 +%endif +# Sound IO build requires +%if 0%{?with_sound} +BuildRequires: alsa-devel +BuildRequires: libsndfile-devel +BuildRequires: portaudio-devel +%endif +# JAVA functions build requires +%if 0%{?with_java} +BuildRequires: java-devel +%endif +# JIT build requires +%if 0%{?with_jit} +BuildRequires: llvm-devel +%endif +# Native graphics build requires %if 0%{?with_native_graphics} -# for native graphics %if 0%{?suse_version} > 1220 BuildRequires: glu-devel %endif @@ -116,45 +125,55 @@ BuildRequires: fltk-devel BuildRequires: fontconfig-devel BuildRequires: xorg-x11-devel +BuildRequires: xorg-x11-libSM-devel +BuildRequires: xorg-x11-libX11-devel +BuildRequires: xorg-x11-libXext-devel %else Requires: gnuplot %endif -Requires: makeinfo -Recommends: blas-devel -Recommends: fftw3-devel -Recommends: fftw3-threads-devel -Recommends: gcc -Recommends: gcc-fortran -Recommends: hdf5-devel -Recommends: make -Recommends: octave-devel = %{version} -Recommends: octave-doc = %{version} -%if 0%{?with_gui} -Recommends: octave-gui = %{version} -%endif +# Tests build requires +BuildRequires: unzip +BuildRequires: zip +Requires: octave-cli = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Octave is a high level programming language. It is designed for the solution of numeric problems. There is a command line interface supplied. - %if 0%{?with_gui} -%package gui -Summary: Graphical user interface for Octave +This package contains graphical user interface. +%endif + +%package cli +Summary: Command-line user interface for Octave Group: Productivity/Scientific/Math +Requires: makeinfo +%if 0%{?with_native_graphics} +Recommends: epstool +Recommends: pstoedit +Recommends: transfig +%endif +Recommends: octave-devel = %{version} +Recommends: octave-doc = %{version} -%description gui +%description cli Octave is a high level programming language. It is designed for the solution of numeric problems. -This package contains official graphical user interface. -%endif +This package contains command-line user interface. %package devel Summary: Development files for Octave Group: Productivity/Scientific/Math Requires: %{name} = %{version} +Recommends: blas-devel +Recommends: fftw3-devel +Recommends: fftw3-threads-devel +Recommends: gcc +Recommends: gcc-fortran +Recommends: hdf5-devel +Recommends: make %description devel Octave is a high level programming language. It is designed for the @@ -166,7 +185,6 @@ %package doc Summary: Documentation for Octave Group: Documentation/Other -Requires: %{name} = %{version} %if 0%{?suse_version} > 1110 BuildArch: noarch %endif @@ -178,19 +196,7 @@ This package contains documentation for Octave. %prep -%setup -q - -# check llvm version -%if %{?with_jit} == 1 -%if %( echo `rpm -q --queryformat %%{version} llvm-devel`| tr -d '.' ) > 33 -%patch1 -p1 -%endif -%endif -# check suitesparse library version -%if %( echo `rpm -q --queryformat %%{version} suitesparse-devel`| tr -d '.' ) > 421 -%patch2 -p1 -%endif -%patch3 +%setup -q -n %{name}-%{src_ver} %build export CPPFLAGS="-DH5_USE_16_API" @@ -215,15 +221,15 @@ # .pc file cp %{SOURCE2} octave.pc -sed -i 's:@VERSION@:%{version}:' octave.pc +sed -i 's:@VERSION@:%{src_ver}:' octave.pc sed -i 's:@LIB@:%{_lib}:' octave.pc %install %make_install # see bnc#557340 mkdir -p %{buildroot}/%{_sysconfdir}/ld.so.conf.d -echo %{_libdir}/%{name}/%{version} > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{name}.conf -rm %{buildroot}/%{_libdir}/%{name}/%{version}/*.la +echo %{_libdir}/%{name}/%{src_ver} > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{name}.conf +rm %{buildroot}/%{_libdir}/%{name}/%{src_ver}/*.la # local rc file into /etc mkdir %{buildroot}/%{_sysconfdir}/%{name} mv %{buildroot}/%{_datadir}/%{name}/site/m/startup/octaverc %{buildroot}/%{_sysconfdir}/%{name} @@ -234,72 +240,93 @@ # .pc file mkdir -p %{buildroot}/%{_libdir}/pkgconfig cp octave.pc %{buildroot}/%{_libdir}/pkgconfig +# big icons size +%if 0%{?suse_version} <= 1320 +rm -rf %{buildroot}/%{_datadir}/icons/hicolor/512x512/ +%endif +# gui related fixes +%if %{?with_gui} +mv %{buildroot}/%{_datadir}/applications/*octave.desktop %{buildroot}/%{_datadir}/applications/octave.desktop +%else +rm -rf %{buildroot}/%{_datadir}/icons/hicolor/ +rm -rf %{buildroot}/%{_datadir}/appdata/ +%endif +# rpm macros +install -Dm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm/macros.octave %check make check %post /sbin/ldconfig -%install_info --info-dir=%{_infodir} %{_infodir}/octave.info.gz %postun /sbin/ldconfig -%install_info_delete --info-dir=%{_infodir} %{_infodir}/octave.info.gz -%if 0%{?with_gui} -%post gui +%post cli /sbin/ldconfig +%install_info --info-dir=%{_infodir} %{_infodir}/octave.info.gz -%postun gui +%postun cli /sbin/ldconfig -%endif +%install_info_delete --info-dir=%{_infodir} %{_infodir}/octave.info.gz %files %defattr(-,root,root,-) %doc AUTHORS BUGS COPYING NEWS %doc README ChangeLog -%doc %{_infodir}/*.gz -%doc %{_mandir}/man1/*.gz %{_bindir}/octave -%{_bindir}/octave-%{version} +%{_bindir}/octave-%{src_ver} +%{_mandir}/man1/octave.1.gz +%if 0%{?with_gui} +%{_libdir}/%{name}/%{src_ver}/exec/*-suse-linux-gnu*/octave-gui +%{_libdir}/%{name}/%{src_ver}/liboctgui.so.* +%{_datadir}/%{name}/%{src_ver}/locale/ +%{_datadir}/appdata/*.xml +%{_datadir}/applications/*.desktop +%if 0%{?suse_version} <= 1310 +%dir %{_datadir}/appdata +%endif +%{_datadir}/icons/hicolor/*/apps/octave.* +%endif + +%files cli +%defattr(-,root,root) %{_bindir}/octave-cli -%{_bindir}/octave-cli-%{version} +%{_bindir}/octave-cli-%{src_ver} +%{_mandir}/man1/octave-cli.1.gz %{_bindir}/mkoctfile -%{_bindir}/mkoctfile-%{version} +%{_bindir}/mkoctfile-%{src_ver} +%{_mandir}/man1/mkoctfile.1.gz %{_bindir}/octave-config -%{_bindir}/octave-config-%{version} +%{_bindir}/octave-config-%{src_ver} +%{_mandir}/man1/octave-config.1.gz +%{_infodir}/*.gz %config %{_sysconfdir}/ld.so.conf.d/%{name}.conf +%config(noreplace) %{_sysconfdir}/%{name}/octaverc %dir %{_libdir}/%{name} -%dir %{_libdir}/%{name}/%{version} +%dir %{_libdir}/%{name}/%{src_ver} %dir %{_libdir}/%{name}/packages %dir %{_datadir}/%{name}/packages %dir %{_sysconfdir}/%{name} -%{_libdir}/%{name}/%{version}/oct -%{_libdir}/%{name}/%{version}/liboctave.so.* -%{_libdir}/%{name}/%{version}/liboctinterp.so.* +%{_libdir}/%{name}/%{src_ver}/oct +%{_libdir}/%{name}/%{src_ver}/liboctave.so.* +%{_libdir}/%{name}/%{src_ver}/liboctinterp.so.* %if 0%{?with_gui} -%dir %{_libdir}/%{name}/%{version}/exec/ -%dir %{_libdir}/%{name}/%{version}/exec/*-suse-linux-gnu*/ -%exclude %{_datadir}/%{name}/%{version}/locale/ +%dir %{_libdir}/%{name}/%{src_ver}/exec/ +%dir %{_libdir}/%{name}/%{src_ver}/exec/*-suse-linux-gnu*/ +%exclude %{_datadir}/%{name}/%{src_ver}/locale/ %endif %{_datadir}/octave/ %{_libdir}/%{name}/site -%config(noreplace) %{_sysconfdir}/%{name}/octaverc %{_libdir}/pkgconfig/octave.pc -%if 0%{?with_gui} -%files gui -%defattr(-,root,root) -%{_libdir}/%{name}/%{version}/exec/*-suse-linux-gnu*/octave-gui -%{_libdir}/%{name}/%{version}/liboctgui.so.* -%{_datadir}/%{name}/%{version}/locale/ -%endif - %files devel %defattr(-,root,root) %{_includedir}/* -%{_libdir}/%{name}/%{version}/lib*.so +%{_libdir}/%{name}/%{src_ver}/lib*.so %{_libdir}/%{name}/api-%{apiver} +%config %{_sysconfdir}/rpm/macros.octave %files doc %defattr(-,root,root) ++++++ octave.macros ++++++ # # Macros for Octave # %octave \ %{_bindir}/octave --no-gui --no-window-system --norc --no-history --quiet # Octave API %octave_api \ %(octave-config -p API_VERSION || echo 0) # Octave directories %octpackages_dir %{_datadir}/octave/packages %octlib_dir %{_libdir}/octave/packages %octsysw_settings %{_datadir}/octave/site/m/startup/octaverc # Octave package source preparation %octave_pkg_src \ directory=`ls -d *` \ if [ "$directory" != "%{octpkg}-%{version}" ]; then \ mv $directory %{octpkg}-%{version} \ fi \ tar czf %{octpkg}-%{version}.tar.gz %{octpkg}-%{version} # Octave package build %octave_pkg_build \ %octave --eval "pkg build -nodeps -verbose . %{octpkg}-%{version}.tar.gz" # Octave package installation %octave_pkg_install \ mkdir -p %{buildroot}%{octpackages_dir} \ mkdir -p %{buildroot}%{octlib_dir} \ %octave --eval "pkg prefix %{buildroot}%{octpackages_dir} %{buildroot}%{octlib_dir}; pkg install -nodeps %{octpkg}-%{version}.tar.gz" \ rm -f %{buildroot}%{octpackages_dir}/%{octpkg}-%{version}/packinfo/.autoload # Octave package tests %octskiptests .*fetch.*|ga|csape|tbl(read|write)|princomp %octave_pkg_test \ for fpath in $(find %{octpkg}-%{version} -name '*.m') ; do \ filename="${fpath##*/}" ; \ basename="${filename%.m}" ; \ if grep -q '^%! *test' $fpath ; then \ if echo $basename | grep -q -v -E '^(%{octskiptests})$' ; then \ %octave --eval "test $basename" | ( grep test || : ) > test.log ; \ if grep -s 'test *failed' test.log ; then \ echo "Failed tests for %{octpkg}-%{version}" ; \ cat test.log ; \ false ; \ else \ grep -i test test.log || true \ true ; \ fi ; \ fi ; \ fi ; \ done