Hello community, here is the log from the commit of package superlu for openSUSE:Factory checked in at 2019-01-26 22:19:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/superlu (Old) and /work/SRC/openSUSE:Factory/.superlu.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "superlu" Sat Jan 26 22:19:04 2019 rev:19 rq:667989 version:5.2.1 Changes: -------- --- /work/SRC/openSUSE:Factory/superlu/superlu.changes 2016-07-07 15:07:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.superlu.new.28833/superlu.changes 2019-01-26 22:19:05.439017274 +0100 @@ -1,0 +2,27 @@ +Tue Jan 22 11:58:01 UTC 2019 - e...@suse.com + +- Disable HPC builds for ring testing on Factory submissions. + +------------------------------------------------------------------- +Fri Jan 18 14:46:44 UTC 2019 - e...@suse.com + +- Reenable ldconfig in %post and %postun for HPC but don't let it + update the cache: this would be pointless for libraries in + non-standard locations. + +------------------------------------------------------------------- +Thu Jan 10 09:31:45 UTC 2019 - e...@suse.com + +- Moved HPC module from devel to library package. +- Modified summary for devel package. + +------------------------------------------------------------------- +Fri Oct 26 19:55:59 UTC 2018 - e...@suse.com + +- Add environment module support for HPC. + * create baselib.conf on the fly. +- Add superlu-5.2-make.patch: + add compiler and build flags in make.inc. +- Separate off documentation and examples to separate packages. + +------------------------------------------------------------------- Old: ---- baselibs.conf superlu_5.2.1-bsd.tar.gz New: ---- _multibuild superlu-5.2-make.patch superlu_5.2.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ superlu.spec ++++++ --- /var/tmp/diff_new_pack.ZPWUtm/_old 2019-01-26 22:19:07.575015542 +0100 +++ /var/tmp/diff_new_pack.ZPWUtm/_new 2019-01-26 22:19:07.575015542 +0100 @@ -1,8 +1,7 @@ # # spec file for package superlu # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2016 Christoph GrĂ¼ninger f...@grueninger.de +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,18 +16,57 @@ # -Name: superlu -Summary: A general purpose library for the direct solution of sparse systems of linear equations +%global flavor @BUILD_FLAVOR@%{nil} + +# Base package name +%define pname superlu +%define ver 5.2.1 + +%define _ver %(echo %{ver} | tr . _) + +%if "%flavor" == "" +ExclusiveArch: do_not_build +%endif + +%if "%{flavor}" == "serial" +%bcond_with hpc +%endif + +%if "%{flavor}" == "gnu-hpc" +%bcond_without hpc +%global compiler_family gnu +%undefine c_f_ver +%endif + +%bcond_with ringdisabled + +%if %{with hpc} && %{with ringdisabled} +ExclusiveArch: do_not_build +%endif + +%define package_name %pname +%if %{without hpc} +%define p_includedir %_includedir +%define p_libdir %_libdir +%define _sover 5 +%else +%{hpc_init -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}} +%define package_name %{hpc_package_name %_ver} +%define p_includedir %hpc_includedir +%define p_libdir %hpc_libdir +%endif + +Name: %{package_name} +Summary: A general purpose library for the direct solution of linear equations License: BSD-3-Clause Group: Development/Libraries/C and C++ -Version: 5.2.1 +Version: %{ver} Release: 0 -%define soname lib%{name}5 -#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz -Source: %{name}_%{version}-bsd.tar.gz +Source: http://crd-legacy.lbl.gov/%7Exiaoye/SuperLU/%{pname}_%{version}.tar.gz Source1: superlu_ug.pdf Source2: README.SUSE -Source3: baselibs.conf +# PATCH-FEATURE-OPENSUSE superlu-5.2-make.patch : add compiler and build flags in make.inc +Patch0: superlu-5.2-make.patch # PATCH-FIX-UPSTREAM superlu-4.3-include.patch : avoid implicit declaration warnings Patch1: superlu-4.3-include.patch # PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff @@ -36,95 +74,174 @@ # PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236] # The Harwell Subroutine Library (HSL) routine mc64ad.c have been removed # from the original sources for legal reasons. This patch disables the inclusion of -# this routine in the library which, however, remains fully functionnal +# this routine in the library which, however, remains fully functional Patch3: superlu-5.2-remove-mc64ad.patch -Url: http://crd.lbl.gov/~xiaoye/SuperLU/ -BuildRequires: blas-devel +URL: http://crd.lbl.gov/~xiaoye/SuperLU/ BuildRequires: cmake >= 2.8.12 BuildRequires: fdupes -BuildRequires: gcc-fortran BuildRequires: tcsh -BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if %{without hpc} +BuildRequires: blas-devel +BuildRequires: gcc-fortran +%else +Requires: %{compiler_family}%{?c_f_ver}-compilers-hpc +BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel +BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel +BuildRequires: suse-hpc >= 0.3 +%hpc_requires +%hpc_requires_devel +%endif %description SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -%package -n %soname +Docu can be found in the %{name}-doc package or on http://www.netlib.org. + +%package -n lib%{name}%{?_sover} Summary: SuperLU matrix solver Group: System/Libraries -%description -n %soname +%description -n lib%{name}%{?_sover} SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. %package devel -Summary: Development files for %{name} +Summary: Headers and development library for lib%{name}%{?_sover} Group: Development/Libraries/C and C++ -Requires: %soname = %{version} -# The standalone superlu RPM has been eliminated, and the relevant -# files are now in superlu-devel -# The last standalone superlu RPM was was v3.0 -Provides: superlu = %{version} -Obsoletes: superlu <= 3.0 +Requires: lib%{name}%{?_sover} = %version +Recommends: %name-doc %description devel -The %{name}-devel package contains libraries and header files for -developing applications that use %{name}. +SuperLU headers and libraries files needed for development + +%package doc +Summary: Documentation for %name +Group: Documentation/Other + +%description doc +Documentation (HTML/PDF) for SuperLU. +SuperLU is an algorithm that uses group theory to optimize LU +decomposition of sparse matrices. + +%package examples +Summary: Examples for %name +Group: Documentation/Other +Recommends: %name-devel + +%description examples +Example programs for SuperLU. +SuperLU is an algorithm that uses group theory to optimize LU +decomposition of sparse matrices. + +%if %{with hpc} +%{hpc_master_package -l -L} +%{hpc_master_package devel} +%{hpc_master_package doc} +%{hpc_master_package examples} +%endif %prep %setup -q -n SuperLU_%{version} +%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 -# superlu_ug.pdf in %%doc cp %SOURCE1 %SOURCE2 ./ +# Create baselib.conf dynamically (non-HPC build only). +%if %{without hpc} +cat > %{_sourcedir}/baselibs.conf <<EOF +lib%{name}%{?_sover} +EOF +%endif %build -# FIXME: Drop the -Denable_tests=OFF flag when MATGEN linking issues are resolved +%{?hpc_setup} +%if %{without hpc} %cmake \ +%else +module load openblas +%hpc_cmake \ +%endif -DCMAKE_BUILD_TYPE=Release -DUSE_XSDK_DEFAULTS='TRUE' -Denable_tests=OFF - make %{?_smp_mflags} -cd .. %install %cmake_install - #fix permissions chmod 644 MATLAB/* # remove all build examples cd EXAMPLE make clean -rm -rf *itersol* +rm -rf *itersol* .gitignore cd .. mv EXAMPLE examples +rm -f examples/.gitignore cp FORTRAN/README README.fortran %fdupes -s examples -%check -ln -s examples/ EXAMPLE -export LD_LIBRARY_PATH=%{buildroot}%{_libdir} -make testing -echo -ne "\nTest results\n" -for i in stest dtest ctest ztest; do - cat TESTING/$i.out -done - -%post -n %soname -p /sbin/ldconfig - -%postun -n %soname -p /sbin/ldconfig +%if %{with hpc} +# TODO: is there any path to add for Matlab files? +%hpc_write_modules_files +#%Module1.0##################################################################### + +proc ModulesHelp { } { + +puts stderr " " +puts stderr "This module loads the SuperLU library built with the %{compiler_family} compiler" +puts stderr "toolchain." +puts stderr " " +puts stderr "Note that this build of SuperLU leverages the OpenBLAS linear algebra libraries." +puts stderr "Consequently, openblas is loaded automatically with this module." + +puts stderr "\nVersion %{version}\n" + +} +module-whatis "Name: %{pname} built with %{compiler_family} compiler" +module-whatis "Version: %{version}" +module-whatis "Category: runtime library" +module-whatis "%{url}" + +set version %{version} + +depends-on openblas + +prepend-path INCLUDE %{hpc_includedir} +prepend-path LD_LIBRARY_PATH %{hpc_libdir} + +setenv %{hpc_PNAME %pname}_DIR %{hpc_prefix} +setenv %{hpc_PNAME %pname}_INC %{hpc_includedir} +setenv %{hpc_PNAME %pname}_LIB %{hpc_libdir} + +EOF +%endif + +%if %{without hpc} +%post -n lib%{name}%{?_sover} -p /sbin/ldconfig +%postun -n lib%{name}%{?_sover} -p /sbin/ldconfig +%else +%post -n lib%{name}%{?_sover} +/sbin/ldconfig -N %hpc_libdir +%postun -n lib%{name}%{?_sover} +/sbin/ldconfig -N %hpc_libdir +%endif -%files -n %soname -%defattr(-,root,root,-) +%files -n lib%{name}%{?_sover} %doc README MATLAB README.SUSE -%{_libdir}/*.so.* +%{?hpc_dirs} +%{?hpc_modules_files} +%{p_libdir}/*.so.* %files devel -%defattr(-,root,root,-) -%doc DOC/html examples README.fortran superlu_ug.pdf -%{_includedir}/*.h -%{_libdir}/*.so +%doc README.fortran +%{p_includedir}/%{!?with_hpc:*} +%{p_libdir}/*.so + +%files doc +%doc DOC/html superlu_ug.pdf + +%files examples +%doc examples %changelog ++++++ _multibuild ++++++ <multibuild> <package>gnu-hpc</package> <package>serial</package> </multibuild> ++++++ superlu-5.2-make.patch ++++++ diff -ruN SuperLU_5.2.1.old/make.inc SuperLU_5.2.1/make.inc --- SuperLU_5.2.1.old/make.inc 2016-05-22 17:08:28.000000000 +0100 +++ SuperLU_5.2.1/make.inc 2016-09-29 21:04:09.000000000 +0100 @@ -18,14 +18,14 @@ # # The name of the libraries to be created/linked to # -SuperLUroot = /home/xiaoye/Dropbox/Codes/SuperLU/SuperLU_5.2.1/build +SuperLUroot = ../ SUPERLULIB = $(SuperLUroot)/SRC/libsuperlu.a TMGLIB = libtmglib.a -# BLASDEF = -DUSE_VENDOR_BLAS -BLASLIB = /home/xiaoye/Dropbox/Codes/SuperLU/SuperLU_5.2.1/build/CBLAS/libblas.a -LIBS = $(SUPERLULIB) /home/xiaoye/Dropbox/Codes/SuperLU/SuperLU_5.2.1/build/CBLAS/libblas.a +BLASDEF = -DUSE_VENDOR_BLAS +BLASLIB = -lopenblas +LIBS = $(SUPERLULIB) $(BLASLIB) # # The archiver and the flag(s) to use when building archive (library) @@ -35,10 +35,11 @@ ARCHFLAGS = cr RANLIB = /usr/bin/ranlib -CC = /usr/bin/cc -CFLAGS = -O3 -DNDEBUG -DPRNTlevel=0 -DAdd_ -NOOPTS = -O0 -FORTRAN = /usr/bin/gfortran +#CC = gcc +CFLAGS = $(RPM_OPT_FLAGS) -fPIC -DPIC +NOOPTS = $(RPM_OPT_FLAGS) -Os -fPIC -DPIC +#FORTRAN = gfortran #g77 +FFLAGS = $(RPM_OPT_FLAGS) -fPIC LOADER = $(CC) LOADOPTS = @@ -46,4 +47,4 @@ # # The directory in which Matlab is installed # -MATLAB = /Applications/MATLAB_R2015b.app +#MATLAB = /Applications/MATLAB_R2015b.app ++++++ superlu_5.2.1-bsd.tar.gz -> superlu_5.2.1.tar.gz ++++++ ++++ 2649 lines of diff (skipped)