From 84d0eda25ea0ecc1fdef1dd04707a2e4dd0137ba1690efd07e160b3ab3fe8fe3 Mon Sep 17 00:00:00 2001 From: Todd R Date: Fri, 21 Oct 2016 00:12:26 +0000 Subject: [PATCH 01/10] OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=1 --- README.SUSE | 6 +- _multibuild | 4 + baselibs.conf | 1 - get-tarball.sh | 29 ++ superlu-4.3-dont-opt-away.diff | 20 -- superlu-4.3-include.patch | 22 -- superlu-5.2-remove-mc64ad.patch | 17 +- superlu-5.3.0.tar.gz | 3 + ...rlu-examples_Makefile_remove_itersol.patch | 113 +++++++ superlu-make.linux.patch | 14 + superlu.changes | 135 ++++++++- superlu.spec | 285 ++++++++++++++---- superlu_5.2.1-bsd.tar.gz | 3 - superlu_ug.pdf | 3 - 14 files changed, 522 insertions(+), 133 deletions(-) create mode 100644 _multibuild delete mode 100644 baselibs.conf create mode 100644 get-tarball.sh delete mode 100644 superlu-4.3-dont-opt-away.diff delete mode 100644 superlu-4.3-include.patch create mode 100644 superlu-5.3.0.tar.gz create mode 100644 superlu-examples_Makefile_remove_itersol.patch create mode 100644 superlu-make.linux.patch delete mode 100644 superlu_5.2.1-bsd.tar.gz delete mode 100644 superlu_ug.pdf diff --git a/README.SUSE b/README.SUSE index 0fbce77..db372ec 100644 --- a/README.SUSE +++ b/README.SUSE @@ -1,8 +1,10 @@ This version of SuperLU is slightly different form the original SuperLU available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the routine mc64ad from the Harwell Subroutine Library cannot be redistributed -by openSUSE and have been removed form the sources. Only SRC/mc64ad.c was -removed from the tarball. +by openSUSE and have been removed form the sources. + +mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c +were removed from the tarball. However the SuperLU library provided by openSUSE is fully functionnal except that the mc64ad routine is not used. diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..945ff53 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + gnu-hpc + serial + diff --git a/baselibs.conf b/baselibs.conf deleted file mode 100644 index 5ac370e..0000000 --- a/baselibs.conf +++ /dev/null @@ -1 +0,0 @@ -libsuperlu5 diff --git a/get-tarball.sh b/get-tarball.sh new file mode 100644 index 0000000..6029de8 --- /dev/null +++ b/get-tarball.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +VERSION=5.3.0 +FILES="mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c" +URL="https://github.com/xiaoyeli/superlu/archive/v$VERSION/superlu-$VERSION.tar.gz" +TAR="superlu-$VERSION.tar.gz" + +WORKDIR="$(mktemp -d superlu.XXXX)" + +TODIR="$(pwd)" +cd "$WORKDIR" + +wget $URL +tar xfz superlu-$VERSION.tar.gz + +for file in $FILES; do + rm superlu-$VERSION/SRC/$file +done + +if [ -e "$TODIR/$TAR" ]; then + echo "$TAR already exists." +else + tar cfz "$TODIR/$TAR" superlu-$VERSION +fi + +cd "$TODIR" +rm -r "$WORKDIR" + diff --git a/superlu-4.3-dont-opt-away.diff b/superlu-4.3-dont-opt-away.diff deleted file mode 100644 index 23b015b..0000000 --- a/superlu-4.3-dont-opt-away.diff +++ /dev/null @@ -1,20 +0,0 @@ -diff -aruN SuperLU_4.3.orig/INSTALL/timertst.c SuperLU_4.3/INSTALL/timertst.c ---- SuperLU_4.3.orig/INSTALL/timertst.c 2011-10-27 21:49:47.000000000 +0200 -+++ SuperLU_4.3/INSTALL/timertst.c 2012-12-20 21:55:13.954437737 +0100 -@@ -6,6 +6,8 @@ - return; - } - -+volatile double _dummy; -+ - int main() - { - /* Parameters */ -@@ -32,6 +34,7 @@ - for (j = 0; j < iters; ++j) { - for (i = 0; i < NMAX; ++i) y[i] += alpha * x[i]; - alpha = -alpha; -+ _dummy = y[j%NMAX]; - } - t2 = SuperLU_timer_(); - tnotim = t2 - t1; diff --git a/superlu-4.3-include.patch b/superlu-4.3-include.patch deleted file mode 100644 index 8af8b69..0000000 --- a/superlu-4.3-include.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -aruN SuperLU_4.3.orig/TESTING/ddrive.c SuperLU_4.3/TESTING/ddrive.c ---- SuperLU_4.3.orig/TESTING/ddrive.c 2011-10-27 21:49:47.000000000 +0200 -+++ SuperLU_4.3/TESTING/ddrive.c 2012-12-20 22:14:43.026465899 +0100 -@@ -11,6 +11,7 @@ - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_ddefs.h" - - #define NTESTS 5 /* Number of test types */ -diff -aruN SuperLU_4.3.orig/TESTING/sdrive.c SuperLU_4.3/TESTING/sdrive.c ---- SuperLU_4.3.orig/TESTING/sdrive.c 2011-10-27 21:49:47.000000000 +0200 -+++ SuperLU_4.3/TESTING/sdrive.c 2012-12-20 22:14:43.030465752 +0100 -@@ -11,6 +11,7 @@ - * Purpose: MAIN test program - */ - #include -+#include - #include "slu_sdefs.h" - - #define NTESTS 5 /* Number of test types */ diff --git a/superlu-5.2-remove-mc64ad.patch b/superlu-5.2-remove-mc64ad.patch index 64bbd68..12ec520 100644 --- a/superlu-5.2-remove-mc64ad.patch +++ b/superlu-5.2-remove-mc64ad.patch @@ -1,14 +1,15 @@ ---- a/SRC/CMakeLists.txt 2016-05-29 13:57:44.683251096 +0200 -+++ b/SRC/CMakeLists.txt 2016-05-29 13:57:31.570987497 +0200 -@@ -22,7 +22,6 @@ +diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt +--- a/SRC/CMakeLists.txt ++++ b/SRC/CMakeLists.txt +@@ -21,7 +21,6 @@ ilu_relax_snode.c ilu_heap_relax_snode.c mark_relax.c - mc64ad.c qselect.c input_error.c - ) -@@ -63,9 +62,7 @@ + dmach.c +@@ -65,9 +64,7 @@ smemory.c sutil.c smyblas2.c @@ -18,7 +19,7 @@ ilu_sdrop_row.c ilu_ssnode_dfs.c ilu_scolumn_dfs.c -@@ -112,9 +109,7 @@ +@@ -115,9 +112,7 @@ dmemory.c dutil.c dmyblas2.c @@ -28,7 +29,7 @@ ilu_ddrop_row.c ilu_dsnode_dfs.c ilu_dcolumn_dfs.c -@@ -163,9 +158,7 @@ +@@ -168,9 +163,7 @@ cmemory.c cutil.c cmyblas2.c @@ -38,7 +39,7 @@ ilu_cdrop_row.c ilu_csnode_dfs.c ilu_ccolumn_dfs.c -@@ -213,9 +206,7 @@ +@@ -219,9 +212,7 @@ zmemory.c zutil.c zmyblas2.c diff --git a/superlu-5.3.0.tar.gz b/superlu-5.3.0.tar.gz new file mode 100644 index 0000000..fc3eccb --- /dev/null +++ b/superlu-5.3.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c347397f791eb8cb18b557dfe8ed83eaed5638a59c7335808b3949673b35c0a3 +size 2468947 diff --git a/superlu-examples_Makefile_remove_itersol.patch b/superlu-examples_Makefile_remove_itersol.patch new file mode 100644 index 0000000..2d55379 --- /dev/null +++ b/superlu-examples_Makefile_remove_itersol.patch @@ -0,0 +1,113 @@ +diff -Nrua a/EXAMPLE/Makefile b/EXAMPLE/Makefile +--- a/EXAMPLE/Makefile ++++ b/EXAMPLE/Makefile +@@ -39,8 +39,6 @@ + SLINXEXM1 = slinsolx1.o + SLINXEXM2 = slinsolx2.o + SLINXEXM3 = slinsolx3.o +-SITSOL = sitersol.o sfgmr.o +-SITSOL1 = sitersol1.o sfgmr.o + + DLINEXM = dlinsol.o + DLINEXM1 = dlinsol1.o +@@ -49,8 +47,6 @@ + DLINXEXM2 = dlinsolx2.o + DLINXEXM3 = dlinsolx3.o + SUPERLUEXM = superlu.o sp_ienv.o +-DITSOL = ditersol.o dfgmr.o +-DITSOL1 = ditersol1.o dfgmr.o + + CLINEXM = clinsol.o + CLINEXM1 = clinsol1.o +@@ -58,8 +54,6 @@ + CLINXEXM1 = clinsolx1.o + CLINXEXM2 = clinsolx2.o + CLINXEXM3 = clinsolx3.o +-CITSOL = citersol.o cfgmr.o +-CITSOL1 = citersol1.o cfgmr.o + + ZLINEXM = zlinsol.o + ZLINEXM1 = zlinsol1.o +@@ -67,20 +61,17 @@ + ZLINXEXM1 = zlinsolx1.o + ZLINXEXM2 = zlinsolx2.o + ZLINXEXM3 = zlinsolx3.o +-ZITSOL = zitersol.o zfgmr.o +-ZITSOL1 = zitersol1.o zfgmr.o + + + all: single double complex complex16 + +-single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 \ +- sitersol sitersol1 ++single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 ++ + double: dlinsol dlinsol1 dlinsolx dlinsolx1 dlinsolx2 dlinsolx3 \ +- superlu ditersol ditersol1 +-complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 \ +- citersol citersol1 +-complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 \ +- zitersol zitersol1 ++ superlu ++complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 ++ ++complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 + + slinsol: $(SLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(SLINEXM) $(LIBS) -lm -o $@ +@@ -100,11 +91,6 @@ + slinsolx3: $(SLINXEXM3) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(SLINXEXM3) $(LIBS) -lm -o $@ + +-sitersol: $(SITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) -lm -o $@ +- +-sitersol1: $(SITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) -lm -o $@ + + dlinsol: $(DLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(DLINEXM) $(LIBS) -lm -o $@ +@@ -127,12 +113,6 @@ + superlu: $(SUPERLUEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(SUPERLUEXM) $(LIBS) -lm -o $@ + +-ditersol: $(DITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) -lm -o $@ +- +-ditersol1: $(DITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) -lm -o $@ +- + clinsol: $(CLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(CLINEXM) $(LIBS) -lm -o $@ + +@@ -151,12 +131,6 @@ + clinsolx3: $(CLINXEXM3) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(CLINXEXM3) $(LIBS) -lm -o $@ + +-citersol: $(CITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) -lm -o $@ +- +-citersol1: $(CITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) -lm -o $@ +- + zlinsol: $(ZLINEXM) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(ZLINEXM) $(LIBS) -lm -o $@ + +@@ -175,11 +149,6 @@ + zlinsolx3: $(ZLINXEXM3) $(SUPERLULIB) + $(LOADER) $(LOADOPTS) $(ZLINXEXM3) $(LIBS) -lm -o $@ + +-zitersol: $(ZITSOL) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) -lm -o $@ +- +-zitersol1: $(ZITSOL1) $(SUPERLULIB) +- $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) -lm -o $@ + + .c.o: + $(CC) $(CFLAGS) $(CDEFS) $(INCLUDEDIR) -c $< $(VERBOSE) +@@ -189,7 +158,7 @@ + + clean: + rm -f *.o *linsol *linsol1 *linsolx *linsolx1 *linsolx2 *linsolx3 \ +- superlu *itersol *itersol1 ++ superlu diff --git a/superlu-make.linux.patch b/superlu-make.linux.patch new file mode 100644 index 0000000..1eb19ef --- /dev/null +++ b/superlu-make.linux.patch @@ -0,0 +1,14 @@ +diff -Nrua a/MAKE_INC/make.linux b/MAKE_INC/make.linux +--- a/MAKE_INC/make.linux ++++ b/MAKE_INC/make.linux +@@ -21,8 +21,8 @@ + # + # The name of the libraries to be created/linked to + # +-SuperLUroot = $(HOME)/Dropbox/Codes/SuperLU/SuperLU +-SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_5.1.a ++SuperLUroot = @superlu_home@ ++SUPERLULIB = @superlu_lib@ + + #BLASLIB = $(SuperLUroot)/lib/libblas.a + diff --git a/superlu.changes b/superlu.changes index 0cfa3f4..f46c3da 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,111 @@ +------------------------------------------------------------------- +Thu Sep 30 19:47:48 UTC 2021 - Antoine Ginies + +- update to version 5.3.0 (JSC#SLE-22138) + +------------------------------------------------------------------- +Thu Jan 28 17:45:16 UTC 2021 - Egbert Eich + +- Change 'Requires:' to other HPC packages to %requires_eq to depend + on the exact version. This should take care of HPC packages ignoring + proper ABI versioning. + +------------------------------------------------------------------- +Mon Nov 16 14:41:49 UTC 2020 - Ana Guerrero Lopez + +- Fix package name, re-add lines removed by mistake. + This fix duplicate binary names. (boo#1178840) + +------------------------------------------------------------------- +Mon Oct 26 14:11:13 UTC 2020 - Ana Guerrero Lopez + +- New version 5.2.2 (boo#1178112) + - bugfixes, documentation and examples update. +- Update URL and Source0 and Source1, use get_tarball.sh to remove + non distributable files. +- Install superlu_ug.pdf provided by the tarball. +- Remove patch, merged upstream + * superlu-4.3-include.patch + * superlu-4.3-dont-opt-away.diff + * superlu-5.2-make.patch +- Refresh patch: + * superlu-examples_Makefile_remove_itersol.patch + * superlu-make.linux.patch + +------------------------------------------------------------------- +Fri Sep 11 06:13:46 UTC 2020 - Egbert Eich + +- Add build support for gcc10 to HPC build (bsc#1174439). + +------------------------------------------------------------------- +Wed Feb 26 12:30:51 UTC 2020 - Egbert Eich + +- Add support for gcc8/9 building (jsc#SLE-8604). + +------------------------------------------------------------------- +Thu Feb 14 09:16:02 UTC 2019 - Jan Engelhardt + +- Fix the package group fix. + +------------------------------------------------------------------- +Sun Feb 10 23:11:37 UTC 2019 - Egbert Eich + +- Fix dependencies. +- Fix %%post and %%postun scripts for HPC. +- Fix HPC modulefile. +- Fix package groups. +- Generate and add pkgconfig files. + +------------------------------------------------------------------- +Fri Feb 8 10:50:43 UTC 2019 - eich@suse.com + +- Set default module version correctly when installing + master package, unset when deinstalling the default library + package. +- make example make.inc work with non-HPC builds as well. + +------------------------------------------------------------------- +Fri Feb 8 09:40:33 UTC 2019 - Antoine Ginies + +- Add superlu-examples_Makefile_remove_itersol.patch + superlu-make.linux.patch: + get a buildable examples test suite (bsc#1124765) + fixing Makefile + adding missing make.inc + +------------------------------------------------------------------- +Tue Jan 22 11:58:01 UTC 2019 - eich@suse.com + +- Disable HPC builds for ring testing on Factory submissions. + +------------------------------------------------------------------- +Mon Jan 21 15:09:13 UTC 2019 - eich@suse.com + +- Fix a word in a comment. +- Remove some colloquialism from a package description. + +------------------------------------------------------------------- +Fri Jan 18 14:46:44 UTC 2019 - eich@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 - eich@suse.com + +- Moved HPC module from devel to library package. +- Modified summary for devel package. + +------------------------------------------------------------------- +Fri Oct 26 19:55:59 UTC 2018 - eich@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. + ------------------------------------------------------------------- Tue Jun 14 12:56:22 UTC 2016 - badshah400@gmail.com @@ -28,7 +136,7 @@ Tue Jan 15 21:14:51 UTC 2013 - scorot@free.fr - repackage original source tarball in order to remove the HSL mc64ad routine that caonnt be redistributed bnc#796236 -- add README.SUSE file in the %%doci in order to explain +- add README.SUSE file in the %%doci in order to explain that change ------------------------------------------------------------------- @@ -59,14 +167,14 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr for both superlu & superlu_dist. * Replace qsort by "quick select" (qselect) in ILU's secondary dropping. - * Replace mc64ad.f by mc64ad.c using f2c. + * Replace mc64ad.f by mc64ad.c using f2c. * Bug fixes in ilu_sdrop_row.c. * Bug fixes in xgsisx.c, so that when mc64 permutation is used in ILU, the right-hand side is permuted properly. * Add parameter #7 in sp_ienv(), setting as the maxsuper for ILU code (smaller than parameter #3). * Update Users Guide. - * Update doxygen code documentation. + * Update doxygen code documentation. * Fix a bug in ILU driver routine dgsisx.c, so that on return, the initial row permutation is combined with perm_r[] from partial pivoting. @@ -86,7 +194,7 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr - Add %%ckeck - Update documentation file %%source1 and put html and examples files in %%doc -- Spec file reformating +- Spec file reformating ------------------------------------------------------------------- Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de @@ -97,7 +205,7 @@ Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Thu Jun 22 18:18:46 CEST 2006 - ro@suse.de -- remove selfprovides +- remove selfprovides ------------------------------------------------------------------- Mon Mar 27 02:23:29 CEST 2006 - garloff@suse.de @@ -126,15 +234,15 @@ Wed Dec 21 13:33:20 CET 2005 - garloff@suse.de Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de - Update to SuperLU-3.0: [#133821] - * Added "options" input argument and "stat" output argument + * Added "options" input argument and "stat" output argument for the driver routines * More Examples * Added a "symmetric mode" for (nearly) symmetric matrices * Better Fortran interface. - * fixed a bug in the complex drivers sgssvx/zgssvx when the + * fixed a bug in the complex drivers sgssvx/zgssvx when the input matrix is stored in compressed row format. - * prefixed the header files by "slu_". - * Fixed a memory leak in get_perm_c() when bnz=0. + * prefixed the header files by "slu_". + * Fixed a memory leak in get_perm_c() when bnz=0. * Changed "abs" to "fabs" in izmax1. * Upgraded COLAMD to the latest version (2.3).15 - Add various declarations and #include statements @@ -144,12 +252,12 @@ Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de ------------------------------------------------------------------- Fri Nov 25 14:20:00 CET 2005 - yxu@suse.de -- add missing function prototypes +- add missing function prototypes ------------------------------------------------------------------- Tue Nov 15 13:42:23 CET 2005 - dmueller@suse.de -- avoid an endless loop during building (#133820) +- avoid an endless loop during building (#133820) ------------------------------------------------------------------- Mon May 9 17:24:12 CEST 2005 - meissner@suse.de @@ -159,7 +267,7 @@ Mon May 9 17:24:12 CEST 2005 - meissner@suse.de ------------------------------------------------------------------- Mon Dec 20 02:58:44 CET 2004 - garloff@suse.de -- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be +- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be optimized. ------------------------------------------------------------------- @@ -230,7 +338,7 @@ Fri Apr 19 20:17:23 MEST 2002 - garloff@suse.de ------------------------------------------------------------------- Wed Apr 10 01:49:54 CEST 2002 - ro@suse.de -- fix owner for README.SuperLU +- fix owner for README.SuperLU ------------------------------------------------------------------- Mon Aug 7 22:12:27 CEST 2000 - garloff@suse.de @@ -251,4 +359,3 @@ Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de Wed Sep 1 00:21:25 CEST 1999 - garloff@suse.de - First creation of package. - diff --git a/superlu.spec b/superlu.spec index 81a12ae..cc41660 100644 --- a/superlu.spec +++ b/superlu.spec @@ -1,8 +1,7 @@ # # spec file for package superlu # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2016 Christoph Grüninger foss@grueninger.de +# Copyright (c) 2021 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -13,118 +12,284 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# Please submit bugfixes or comments via https://bugs.opensuse.org/ # -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.3.0 +%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 + +%if "%{flavor}" == "gnu7-hpc" +%bcond_without hpc +%global compiler_family gnu +%undefine c_f_ver 7 +%endif + +%if "%{flavor}" == "gnu8-hpc" +%bcond_without hpc +%global compiler_family gnu +%define c_f_ver 8 +%endif + +%if "%{flavor}" == "gnu9-hpc" +%bcond_without hpc +%global compiler_family gnu +%define c_f_ver 9 +%endif + +%if "%{flavor}" == "gnu10-hpc" +%bcond_without hpc +%global compiler_family gnu +%define c_f_ver 10 +%endif + +%bcond_with ringdisabled + +%if %{with hpc} && %{with ringdisabled} +ExclusiveArch: do_not_build +%endif + +%define package_name %pname +%if %{without hpc} +%define p_prefix %_prefix +%define p_includedir %_includedir +%define p_libdir %_libdir +%define _sover 5 +%define libname lib%{name}%{?_sover} +%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_prefix %hpc_prefix +%define p_includedir %hpc_includedir +%define p_libdir %hpc_libdir +%define libname lib%{name} +%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 +Group: Productivity/Scientific/Math +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 -Source1: superlu_ug.pdf +URL: https://portal.nersc.gov/project/sparse/superlu/ +Source0: %{pname}-%{version}.tar.gz +# Tarball above is generated with the script below +Source1: get-tarball.sh Source2: README.SUSE -Source3: baselibs.conf -# 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 -Patch2: superlu-4.3-dont-opt-away.diff -# PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236] +# 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 +Patch4: superlu-examples_Makefile_remove_itersol.patch +Patch5: superlu-make.linux.patch 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 +%endif %description SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -%package -n %soname +Documentation can be found in the %{name}-doc package or on +http://www.netlib.org. + +%package -n %libname Summary: SuperLU matrix solver Group: System/Libraries +%if %{with hpc} +%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc} +Requires: lua-lmod >= 7.6.1 +%hpc_requires +%endif -%description -n %soname +%description -n %libname 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: %libname = %version +%if %{with hpc} +%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel} +%hpc_requires_devel +%endif +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 -L devel} +%{hpc_master_package doc} +%{hpc_master_package -L examples} +%endif %prep -%setup -q -n SuperLU_%{version} -%patch1 -p1 -%patch2 -p1 +%setup -q -n superlu-%{version} %patch3 -p1 -# superlu_ug.pdf in %%doc -cp %SOURCE1 %SOURCE2 ./ +%patch4 -p1 +%patch5 -p1 +cp %SOURCE2 ./ +# Create baselibs.conf dynamically (non-HPC build only). +%if %{without hpc} +cat > %{_sourcedir}/baselibs.conf < Date: Fri, 21 Oct 2016 00:13:02 +0000 Subject: [PATCH 02/10] OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=2 --- README.SUSE | 6 +- _multibuild | 4 - baselibs.conf | 1 + get-tarball.sh | 29 -- superlu-4.3-dont-opt-away.diff | 20 ++ superlu-4.3-include.patch | 22 ++ superlu-5.2-remove-mc64ad.patch | 17 +- superlu-5.3.0.tar.gz | 3 - ...rlu-examples_Makefile_remove_itersol.patch | 113 ------- superlu-make.linux.patch | 14 - superlu.changes | 135 +-------- superlu.spec | 285 ++++-------------- superlu_5.2.1-bsd.tar.gz | 3 + superlu_ug.pdf | 3 + 14 files changed, 133 insertions(+), 522 deletions(-) delete mode 100644 _multibuild create mode 100644 baselibs.conf delete mode 100644 get-tarball.sh create mode 100644 superlu-4.3-dont-opt-away.diff create mode 100644 superlu-4.3-include.patch delete mode 100644 superlu-5.3.0.tar.gz delete mode 100644 superlu-examples_Makefile_remove_itersol.patch delete mode 100644 superlu-make.linux.patch create mode 100644 superlu_5.2.1-bsd.tar.gz create mode 100644 superlu_ug.pdf diff --git a/README.SUSE b/README.SUSE index db372ec..0fbce77 100644 --- a/README.SUSE +++ b/README.SUSE @@ -1,10 +1,8 @@ This version of SuperLU is slightly different form the original SuperLU available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the routine mc64ad from the Harwell Subroutine Library cannot be redistributed -by openSUSE and have been removed form the sources. - -mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c -were removed from the tarball. +by openSUSE and have been removed form the sources. Only SRC/mc64ad.c was +removed from the tarball. However the SuperLU library provided by openSUSE is fully functionnal except that the mc64ad routine is not used. diff --git a/_multibuild b/_multibuild deleted file mode 100644 index 945ff53..0000000 --- a/_multibuild +++ /dev/null @@ -1,4 +0,0 @@ - - gnu-hpc - serial - diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..5ac370e --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libsuperlu5 diff --git a/get-tarball.sh b/get-tarball.sh deleted file mode 100644 index 6029de8..0000000 --- a/get-tarball.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -set -e - -VERSION=5.3.0 -FILES="mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c" -URL="https://github.com/xiaoyeli/superlu/archive/v$VERSION/superlu-$VERSION.tar.gz" -TAR="superlu-$VERSION.tar.gz" - -WORKDIR="$(mktemp -d superlu.XXXX)" - -TODIR="$(pwd)" -cd "$WORKDIR" - -wget $URL -tar xfz superlu-$VERSION.tar.gz - -for file in $FILES; do - rm superlu-$VERSION/SRC/$file -done - -if [ -e "$TODIR/$TAR" ]; then - echo "$TAR already exists." -else - tar cfz "$TODIR/$TAR" superlu-$VERSION -fi - -cd "$TODIR" -rm -r "$WORKDIR" - diff --git a/superlu-4.3-dont-opt-away.diff b/superlu-4.3-dont-opt-away.diff new file mode 100644 index 0000000..23b015b --- /dev/null +++ b/superlu-4.3-dont-opt-away.diff @@ -0,0 +1,20 @@ +diff -aruN SuperLU_4.3.orig/INSTALL/timertst.c SuperLU_4.3/INSTALL/timertst.c +--- SuperLU_4.3.orig/INSTALL/timertst.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/INSTALL/timertst.c 2012-12-20 21:55:13.954437737 +0100 +@@ -6,6 +6,8 @@ + return; + } + ++volatile double _dummy; ++ + int main() + { + /* Parameters */ +@@ -32,6 +34,7 @@ + for (j = 0; j < iters; ++j) { + for (i = 0; i < NMAX; ++i) y[i] += alpha * x[i]; + alpha = -alpha; ++ _dummy = y[j%NMAX]; + } + t2 = SuperLU_timer_(); + tnotim = t2 - t1; diff --git a/superlu-4.3-include.patch b/superlu-4.3-include.patch new file mode 100644 index 0000000..8af8b69 --- /dev/null +++ b/superlu-4.3-include.patch @@ -0,0 +1,22 @@ +diff -aruN SuperLU_4.3.orig/TESTING/ddrive.c SuperLU_4.3/TESTING/ddrive.c +--- SuperLU_4.3.orig/TESTING/ddrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/ddrive.c 2012-12-20 22:14:43.026465899 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_ddefs.h" + + #define NTESTS 5 /* Number of test types */ +diff -aruN SuperLU_4.3.orig/TESTING/sdrive.c SuperLU_4.3/TESTING/sdrive.c +--- SuperLU_4.3.orig/TESTING/sdrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/sdrive.c 2012-12-20 22:14:43.030465752 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_sdefs.h" + + #define NTESTS 5 /* Number of test types */ diff --git a/superlu-5.2-remove-mc64ad.patch b/superlu-5.2-remove-mc64ad.patch index 12ec520..64bbd68 100644 --- a/superlu-5.2-remove-mc64ad.patch +++ b/superlu-5.2-remove-mc64ad.patch @@ -1,15 +1,14 @@ -diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -21,7 +21,6 @@ +--- a/SRC/CMakeLists.txt 2016-05-29 13:57:44.683251096 +0200 ++++ b/SRC/CMakeLists.txt 2016-05-29 13:57:31.570987497 +0200 +@@ -22,7 +22,6 @@ ilu_relax_snode.c ilu_heap_relax_snode.c mark_relax.c - mc64ad.c qselect.c input_error.c - dmach.c -@@ -65,9 +64,7 @@ + ) +@@ -63,9 +62,7 @@ smemory.c sutil.c smyblas2.c @@ -19,7 +18,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_sdrop_row.c ilu_ssnode_dfs.c ilu_scolumn_dfs.c -@@ -115,9 +112,7 @@ +@@ -112,9 +109,7 @@ dmemory.c dutil.c dmyblas2.c @@ -29,7 +28,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_ddrop_row.c ilu_dsnode_dfs.c ilu_dcolumn_dfs.c -@@ -168,9 +163,7 @@ +@@ -163,9 +158,7 @@ cmemory.c cutil.c cmyblas2.c @@ -39,7 +38,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_cdrop_row.c ilu_csnode_dfs.c ilu_ccolumn_dfs.c -@@ -219,9 +212,7 @@ +@@ -213,9 +206,7 @@ zmemory.c zutil.c zmyblas2.c diff --git a/superlu-5.3.0.tar.gz b/superlu-5.3.0.tar.gz deleted file mode 100644 index fc3eccb..0000000 --- a/superlu-5.3.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c347397f791eb8cb18b557dfe8ed83eaed5638a59c7335808b3949673b35c0a3 -size 2468947 diff --git a/superlu-examples_Makefile_remove_itersol.patch b/superlu-examples_Makefile_remove_itersol.patch deleted file mode 100644 index 2d55379..0000000 --- a/superlu-examples_Makefile_remove_itersol.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff -Nrua a/EXAMPLE/Makefile b/EXAMPLE/Makefile ---- a/EXAMPLE/Makefile -+++ b/EXAMPLE/Makefile -@@ -39,8 +39,6 @@ - SLINXEXM1 = slinsolx1.o - SLINXEXM2 = slinsolx2.o - SLINXEXM3 = slinsolx3.o --SITSOL = sitersol.o sfgmr.o --SITSOL1 = sitersol1.o sfgmr.o - - DLINEXM = dlinsol.o - DLINEXM1 = dlinsol1.o -@@ -49,8 +47,6 @@ - DLINXEXM2 = dlinsolx2.o - DLINXEXM3 = dlinsolx3.o - SUPERLUEXM = superlu.o sp_ienv.o --DITSOL = ditersol.o dfgmr.o --DITSOL1 = ditersol1.o dfgmr.o - - CLINEXM = clinsol.o - CLINEXM1 = clinsol1.o -@@ -58,8 +54,6 @@ - CLINXEXM1 = clinsolx1.o - CLINXEXM2 = clinsolx2.o - CLINXEXM3 = clinsolx3.o --CITSOL = citersol.o cfgmr.o --CITSOL1 = citersol1.o cfgmr.o - - ZLINEXM = zlinsol.o - ZLINEXM1 = zlinsol1.o -@@ -67,20 +61,17 @@ - ZLINXEXM1 = zlinsolx1.o - ZLINXEXM2 = zlinsolx2.o - ZLINXEXM3 = zlinsolx3.o --ZITSOL = zitersol.o zfgmr.o --ZITSOL1 = zitersol1.o zfgmr.o - - - all: single double complex complex16 - --single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 \ -- sitersol sitersol1 -+single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 -+ - double: dlinsol dlinsol1 dlinsolx dlinsolx1 dlinsolx2 dlinsolx3 \ -- superlu ditersol ditersol1 --complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 \ -- citersol citersol1 --complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 \ -- zitersol zitersol1 -+ superlu -+complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 -+ -+complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 - - slinsol: $(SLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SLINEXM) $(LIBS) -lm -o $@ -@@ -100,11 +91,6 @@ - slinsolx3: $(SLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SLINXEXM3) $(LIBS) -lm -o $@ - --sitersol: $(SITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) -lm -o $@ -- --sitersol1: $(SITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) -lm -o $@ - - dlinsol: $(DLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(DLINEXM) $(LIBS) -lm -o $@ -@@ -127,12 +113,6 @@ - superlu: $(SUPERLUEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SUPERLUEXM) $(LIBS) -lm -o $@ - --ditersol: $(DITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) -lm -o $@ -- --ditersol1: $(DITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) -lm -o $@ -- - clinsol: $(CLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(CLINEXM) $(LIBS) -lm -o $@ - -@@ -151,12 +131,6 @@ - clinsolx3: $(CLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(CLINXEXM3) $(LIBS) -lm -o $@ - --citersol: $(CITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) -lm -o $@ -- --citersol1: $(CITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) -lm -o $@ -- - zlinsol: $(ZLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(ZLINEXM) $(LIBS) -lm -o $@ - -@@ -175,11 +149,6 @@ - zlinsolx3: $(ZLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(ZLINXEXM3) $(LIBS) -lm -o $@ - --zitersol: $(ZITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) -lm -o $@ -- --zitersol1: $(ZITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) -lm -o $@ - - .c.o: - $(CC) $(CFLAGS) $(CDEFS) $(INCLUDEDIR) -c $< $(VERBOSE) -@@ -189,7 +158,7 @@ - - clean: - rm -f *.o *linsol *linsol1 *linsolx *linsolx1 *linsolx2 *linsolx3 \ -- superlu *itersol *itersol1 -+ superlu diff --git a/superlu-make.linux.patch b/superlu-make.linux.patch deleted file mode 100644 index 1eb19ef..0000000 --- a/superlu-make.linux.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nrua a/MAKE_INC/make.linux b/MAKE_INC/make.linux ---- a/MAKE_INC/make.linux -+++ b/MAKE_INC/make.linux -@@ -21,8 +21,8 @@ - # - # The name of the libraries to be created/linked to - # --SuperLUroot = $(HOME)/Dropbox/Codes/SuperLU/SuperLU --SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_5.1.a -+SuperLUroot = @superlu_home@ -+SUPERLULIB = @superlu_lib@ - - #BLASLIB = $(SuperLUroot)/lib/libblas.a - diff --git a/superlu.changes b/superlu.changes index f46c3da..0cfa3f4 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,111 +1,3 @@ -------------------------------------------------------------------- -Thu Sep 30 19:47:48 UTC 2021 - Antoine Ginies - -- update to version 5.3.0 (JSC#SLE-22138) - -------------------------------------------------------------------- -Thu Jan 28 17:45:16 UTC 2021 - Egbert Eich - -- Change 'Requires:' to other HPC packages to %requires_eq to depend - on the exact version. This should take care of HPC packages ignoring - proper ABI versioning. - -------------------------------------------------------------------- -Mon Nov 16 14:41:49 UTC 2020 - Ana Guerrero Lopez - -- Fix package name, re-add lines removed by mistake. - This fix duplicate binary names. (boo#1178840) - -------------------------------------------------------------------- -Mon Oct 26 14:11:13 UTC 2020 - Ana Guerrero Lopez - -- New version 5.2.2 (boo#1178112) - - bugfixes, documentation and examples update. -- Update URL and Source0 and Source1, use get_tarball.sh to remove - non distributable files. -- Install superlu_ug.pdf provided by the tarball. -- Remove patch, merged upstream - * superlu-4.3-include.patch - * superlu-4.3-dont-opt-away.diff - * superlu-5.2-make.patch -- Refresh patch: - * superlu-examples_Makefile_remove_itersol.patch - * superlu-make.linux.patch - -------------------------------------------------------------------- -Fri Sep 11 06:13:46 UTC 2020 - Egbert Eich - -- Add build support for gcc10 to HPC build (bsc#1174439). - -------------------------------------------------------------------- -Wed Feb 26 12:30:51 UTC 2020 - Egbert Eich - -- Add support for gcc8/9 building (jsc#SLE-8604). - -------------------------------------------------------------------- -Thu Feb 14 09:16:02 UTC 2019 - Jan Engelhardt - -- Fix the package group fix. - -------------------------------------------------------------------- -Sun Feb 10 23:11:37 UTC 2019 - Egbert Eich - -- Fix dependencies. -- Fix %%post and %%postun scripts for HPC. -- Fix HPC modulefile. -- Fix package groups. -- Generate and add pkgconfig files. - -------------------------------------------------------------------- -Fri Feb 8 10:50:43 UTC 2019 - eich@suse.com - -- Set default module version correctly when installing - master package, unset when deinstalling the default library - package. -- make example make.inc work with non-HPC builds as well. - -------------------------------------------------------------------- -Fri Feb 8 09:40:33 UTC 2019 - Antoine Ginies - -- Add superlu-examples_Makefile_remove_itersol.patch - superlu-make.linux.patch: - get a buildable examples test suite (bsc#1124765) - fixing Makefile - adding missing make.inc - -------------------------------------------------------------------- -Tue Jan 22 11:58:01 UTC 2019 - eich@suse.com - -- Disable HPC builds for ring testing on Factory submissions. - -------------------------------------------------------------------- -Mon Jan 21 15:09:13 UTC 2019 - eich@suse.com - -- Fix a word in a comment. -- Remove some colloquialism from a package description. - -------------------------------------------------------------------- -Fri Jan 18 14:46:44 UTC 2019 - eich@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 - eich@suse.com - -- Moved HPC module from devel to library package. -- Modified summary for devel package. - -------------------------------------------------------------------- -Fri Oct 26 19:55:59 UTC 2018 - eich@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. - ------------------------------------------------------------------- Tue Jun 14 12:56:22 UTC 2016 - badshah400@gmail.com @@ -136,7 +28,7 @@ Tue Jan 15 21:14:51 UTC 2013 - scorot@free.fr - repackage original source tarball in order to remove the HSL mc64ad routine that caonnt be redistributed bnc#796236 -- add README.SUSE file in the %%doci in order to explain +- add README.SUSE file in the %%doci in order to explain that change ------------------------------------------------------------------- @@ -167,14 +59,14 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr for both superlu & superlu_dist. * Replace qsort by "quick select" (qselect) in ILU's secondary dropping. - * Replace mc64ad.f by mc64ad.c using f2c. + * Replace mc64ad.f by mc64ad.c using f2c. * Bug fixes in ilu_sdrop_row.c. * Bug fixes in xgsisx.c, so that when mc64 permutation is used in ILU, the right-hand side is permuted properly. * Add parameter #7 in sp_ienv(), setting as the maxsuper for ILU code (smaller than parameter #3). * Update Users Guide. - * Update doxygen code documentation. + * Update doxygen code documentation. * Fix a bug in ILU driver routine dgsisx.c, so that on return, the initial row permutation is combined with perm_r[] from partial pivoting. @@ -194,7 +86,7 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr - Add %%ckeck - Update documentation file %%source1 and put html and examples files in %%doc -- Spec file reformating +- Spec file reformating ------------------------------------------------------------------- Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de @@ -205,7 +97,7 @@ Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Thu Jun 22 18:18:46 CEST 2006 - ro@suse.de -- remove selfprovides +- remove selfprovides ------------------------------------------------------------------- Mon Mar 27 02:23:29 CEST 2006 - garloff@suse.de @@ -234,15 +126,15 @@ Wed Dec 21 13:33:20 CET 2005 - garloff@suse.de Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de - Update to SuperLU-3.0: [#133821] - * Added "options" input argument and "stat" output argument + * Added "options" input argument and "stat" output argument for the driver routines * More Examples * Added a "symmetric mode" for (nearly) symmetric matrices * Better Fortran interface. - * fixed a bug in the complex drivers sgssvx/zgssvx when the + * fixed a bug in the complex drivers sgssvx/zgssvx when the input matrix is stored in compressed row format. - * prefixed the header files by "slu_". - * Fixed a memory leak in get_perm_c() when bnz=0. + * prefixed the header files by "slu_". + * Fixed a memory leak in get_perm_c() when bnz=0. * Changed "abs" to "fabs" in izmax1. * Upgraded COLAMD to the latest version (2.3).15 - Add various declarations and #include statements @@ -252,12 +144,12 @@ Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de ------------------------------------------------------------------- Fri Nov 25 14:20:00 CET 2005 - yxu@suse.de -- add missing function prototypes +- add missing function prototypes ------------------------------------------------------------------- Tue Nov 15 13:42:23 CET 2005 - dmueller@suse.de -- avoid an endless loop during building (#133820) +- avoid an endless loop during building (#133820) ------------------------------------------------------------------- Mon May 9 17:24:12 CEST 2005 - meissner@suse.de @@ -267,7 +159,7 @@ Mon May 9 17:24:12 CEST 2005 - meissner@suse.de ------------------------------------------------------------------- Mon Dec 20 02:58:44 CET 2004 - garloff@suse.de -- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be +- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be optimized. ------------------------------------------------------------------- @@ -338,7 +230,7 @@ Fri Apr 19 20:17:23 MEST 2002 - garloff@suse.de ------------------------------------------------------------------- Wed Apr 10 01:49:54 CEST 2002 - ro@suse.de -- fix owner for README.SuperLU +- fix owner for README.SuperLU ------------------------------------------------------------------- Mon Aug 7 22:12:27 CEST 2000 - garloff@suse.de @@ -359,3 +251,4 @@ Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de Wed Sep 1 00:21:25 CEST 1999 - garloff@suse.de - First creation of package. + diff --git a/superlu.spec b/superlu.spec index cc41660..81a12ae 100644 --- a/superlu.spec +++ b/superlu.spec @@ -1,7 +1,8 @@ # # spec file for package superlu # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2016 Christoph Grüninger foss@grueninger.de # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -12,284 +13,118 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%global flavor @BUILD_FLAVOR@%{nil} - -# Base package name -%define pname superlu -%define ver 5.3.0 -%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 - -%if "%{flavor}" == "gnu7-hpc" -%bcond_without hpc -%global compiler_family gnu -%undefine c_f_ver 7 -%endif - -%if "%{flavor}" == "gnu8-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 8 -%endif - -%if "%{flavor}" == "gnu9-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 9 -%endif - -%if "%{flavor}" == "gnu10-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 10 -%endif - -%bcond_with ringdisabled - -%if %{with hpc} && %{with ringdisabled} -ExclusiveArch: do_not_build -%endif - -%define package_name %pname -%if %{without hpc} -%define p_prefix %_prefix -%define p_includedir %_includedir -%define p_libdir %_libdir -%define _sover 5 -%define libname lib%{name}%{?_sover} -%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_prefix %hpc_prefix -%define p_includedir %hpc_includedir -%define p_libdir %hpc_libdir -%define libname lib%{name} -%endif - -Name: %{package_name} -Summary: A general purpose library for the direct solution of linear equations +Name: superlu +Summary: A general purpose library for the direct solution of sparse systems of linear equations License: BSD-3-Clause -Group: Productivity/Scientific/Math -Version: %{ver} +Group: Development/Libraries/C and C++ +Version: 5.2.1 Release: 0 -URL: https://portal.nersc.gov/project/sparse/superlu/ -Source0: %{pname}-%{version}.tar.gz -# Tarball above is generated with the script below -Source1: get-tarball.sh +%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 +Source1: superlu_ug.pdf Source2: README.SUSE -# PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236] +Source3: baselibs.conf +# 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 +Patch2: superlu-4.3-dont-opt-away.diff +# 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 functional +# this routine in the library which, however, remains fully functionnal Patch3: superlu-5.2-remove-mc64ad.patch -Patch4: superlu-examples_Makefile_remove_itersol.patch -Patch5: superlu-make.linux.patch +Url: http://crd.lbl.gov/~xiaoye/SuperLU/ +BuildRequires: blas-devel BuildRequires: cmake >= 2.8.12 BuildRequires: fdupes -BuildRequires: tcsh -%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 -%endif +BuildRequires: tcsh +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -Documentation can be found in the %{name}-doc package or on -http://www.netlib.org. - -%package -n %libname +%package -n %soname Summary: SuperLU matrix solver Group: System/Libraries -%if %{with hpc} -%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc} -Requires: lua-lmod >= 7.6.1 -%hpc_requires -%endif -%description -n %libname +%description -n %soname SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. %package devel -Summary: Headers and development library for lib%{name}%{?_sover} +Summary: Development files for %{name} Group: Development/Libraries/C and C++ -Requires: %libname = %version -%if %{with hpc} -%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel} -%hpc_requires_devel -%endif -Recommends: %name-doc +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 %description devel -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 -L devel} -%{hpc_master_package doc} -%{hpc_master_package -L examples} -%endif +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. %prep -%setup -q -n superlu-%{version} +%setup -q -n SuperLU_%{version} +%patch1 -p1 +%patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -cp %SOURCE2 ./ -# Create baselibs.conf dynamically (non-HPC build only). -%if %{without hpc} -cat > %{_sourcedir}/baselibs.conf < Date: Tue, 8 Jan 2019 23:36:47 +0000 Subject: [PATCH 03/10] Accepting request 663854 from home:eeich:factory_staging - 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. OBS-URL: https://build.opensuse.org/request/show/663854 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=3 --- _multibuild | 4 + baselibs.conf | 1 - superlu-5.2-make.patch | 44 +++++++++ superlu-rpmlintrc | 6 ++ superlu.changes | 9 ++ superlu.spec | 207 +++++++++++++++++++++++++++++---------- superlu_5.2.1-bsd.tar.gz | 3 - superlu_5.2.1.tar.gz | 3 + 8 files changed, 223 insertions(+), 54 deletions(-) create mode 100644 _multibuild delete mode 100644 baselibs.conf create mode 100644 superlu-5.2-make.patch create mode 100644 superlu-rpmlintrc delete mode 100644 superlu_5.2.1-bsd.tar.gz create mode 100644 superlu_5.2.1.tar.gz diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..945ff53 --- /dev/null +++ b/_multibuild @@ -0,0 +1,4 @@ + + gnu-hpc + serial + diff --git a/baselibs.conf b/baselibs.conf deleted file mode 100644 index 5ac370e..0000000 --- a/baselibs.conf +++ /dev/null @@ -1 +0,0 @@ -libsuperlu5 diff --git a/superlu-5.2-make.patch b/superlu-5.2-make.patch new file mode 100644 index 0000000..73858a8 --- /dev/null +++ b/superlu-5.2-make.patch @@ -0,0 +1,44 @@ +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 diff --git a/superlu-rpmlintrc b/superlu-rpmlintrc new file mode 100644 index 0000000..f161fd3 --- /dev/null +++ b/superlu-rpmlintrc @@ -0,0 +1,6 @@ +# This line is mandatory to access the configuration functions +from Config import * + +addFilter("superlu.* library-without-ldconfig-postin") +addFilter("superlu.* library-without-ldconfig-postun") + diff --git a/superlu.changes b/superlu.changes index 0cfa3f4..08860cd 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Fri Oct 26 19:55:59 UTC 2018 - eich@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. + ------------------------------------------------------------------- Tue Jun 14 12:56:22 UTC 2016 - badshah400@gmail.com diff --git a/superlu.spec b/superlu.spec index 81a12ae..ea90d69 100644 --- a/superlu.spec +++ b/superlu.spec @@ -1,8 +1,7 @@ # # spec file for package superlu # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. -# Copyright (c) 2016 Christoph Grüninger foss@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 @@ -15,20 +14,53 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # +# SuperLU library build that is dependent on compiler toolchain +%global flavor @BUILD_FLAVOR@%{nil} -Name: superlu -Summary: A general purpose library for the direct solution of sparse systems of linear equations +# 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 + +%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 +68,170 @@ Patch2: superlu-4.3-dont-opt-away.diff # 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 -BuildRequires: cmake >= 2.8.12 -BuildRequires: fdupes -BuildRequires: gcc-fortran +URL: http://crd.lbl.gov/~xiaoye/SuperLU/ BuildRequires: tcsh -BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: fdupes +BuildRequires: cmake >= 2.8.12 +%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 files 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 < Date: Wed, 9 Jan 2019 06:55:53 +0000 Subject: [PATCH 04/10] Accepting request 663962 from home:eeich:factory_staging - Add superlu-rpmlintrc as source to spec file. OBS-URL: https://build.opensuse.org/request/show/663962 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=4 --- superlu.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/superlu.spec b/superlu.spec index ea90d69..21ccec8 100644 --- a/superlu.spec +++ b/superlu.spec @@ -59,6 +59,7 @@ Release: 0 Source: http://crd-legacy.lbl.gov/%7Exiaoye/SuperLU/%{pname}_%{version}.tar.gz Source1: superlu_ug.pdf Source2: README.SUSE +Source3: superlu-rpmlintrc # 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 From dbed5ce8627d11a4c33afb6343223915c428dcff35cef595001aefbdbf64cbee Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Thu, 10 Jan 2019 14:51:10 +0000 Subject: [PATCH 05/10] Accepting request 664394 from home:eeich:factory_staging - Moved HPC module from devel to library package. - Modified summary for devel package. OBS-URL: https://build.opensuse.org/request/show/664394 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=5 --- superlu.changes | 6 ++++++ superlu.spec | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/superlu.changes b/superlu.changes index 08860cd..01885ca 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Jan 10 09:31:45 UTC 2019 - eich@suse.com + +- Moved HPC module from devel to library package. +- Modified summary for devel package. + ------------------------------------------------------------------- Fri Oct 26 19:55:59 UTC 2018 - eich@suse.com diff --git a/superlu.spec b/superlu.spec index 21ccec8..056256d 100644 --- a/superlu.spec +++ b/superlu.spec @@ -102,7 +102,7 @@ SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. %package devel -Summary: Headers and development files +Summary: Headers and development library for lib%{name}%{?_sover} Group: Development/Libraries/C and C++ Requires: lib%{name}%{?_sover} = %version Recommends: %name-doc @@ -221,11 +221,11 @@ EOF %files -n lib%{name}%{?_sover} %doc README MATLAB README.SUSE %{?hpc_dirs} +%{?hpc_modules_files} %{p_libdir}/*.so.* %files devel %doc README.fortran -%{?hpc_modules_files} %{p_includedir}/%{!?with_hpc:*} %{p_libdir}/*.so From fb93dfec4e6b469109f2c25a2efe204c2572b13e62014f3fb233127a98985a9c Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Wed, 16 Jan 2019 09:42:11 +0000 Subject: [PATCH 06/10] - Limit rpmlintrc filters to HPC packages and document the motivation behind it: HPC libraries are installed into non-standard install paths. OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=6 --- superlu-rpmlintrc | 5 +++-- superlu.changes | 7 +++++++ superlu.spec | 7 +++---- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/superlu-rpmlintrc b/superlu-rpmlintrc index f161fd3..f7feab9 100644 --- a/superlu-rpmlintrc +++ b/superlu-rpmlintrc @@ -1,6 +1,7 @@ # This line is mandatory to access the configuration functions from Config import * -addFilter("superlu.* library-without-ldconfig-postin") -addFilter("superlu.* library-without-ldconfig-postun") +# HPC libs are installed in a non-standard location: don't run ldconfig +addFilter("superlu.*-hpc.* library-without-ldconfig-postin") +addFilter("superlu.*-hpc.* library-without-ldconfig-postun") diff --git a/superlu.changes b/superlu.changes index 01885ca..6eec850 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Jan 16 09:35:05 UTC 2019 - eich@suse.com + +- Limit rpmlintrc filters to HPC packages and document the + motivation behind it: HPC libraries are installed into + non-standard install paths. + ------------------------------------------------------------------- Thu Jan 10 09:31:45 UTC 2019 - eich@suse.com diff --git a/superlu.spec b/superlu.spec index 056256d..18fff82 100644 --- a/superlu.spec +++ b/superlu.spec @@ -14,7 +14,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -# SuperLU library build that is dependent on compiler toolchain + %global flavor @BUILD_FLAVOR@%{nil} @@ -72,9 +72,9 @@ Patch2: superlu-4.3-dont-opt-away.diff # 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: tcsh -BuildRequires: fdupes BuildRequires: cmake >= 2.8.12 +BuildRequires: fdupes +BuildRequires: tcsh %if %{without hpc} BuildRequires: blas-devel BuildRequires: gcc-fortran @@ -161,7 +161,6 @@ module load openblas -DCMAKE_BUILD_TYPE=Release -DUSE_XSDK_DEFAULTS='TRUE' -Denable_tests=OFF make %{?_smp_mflags} - %install %cmake_install #fix permissions From 995db9c2bba820f6416722ab81d614a52c6c26139b82e7b181dfd3c665eb94f6 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Fri, 18 Jan 2019 17:25:26 +0000 Subject: [PATCH 07/10] Accepting request 667025 from home:eeich:factory_staging - 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. OBS-URL: https://build.opensuse.org/request/show/667025 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=7 --- superlu-rpmlintrc | 7 ------- superlu.changes | 8 ++++---- superlu.spec | 6 +++++- 3 files changed, 9 insertions(+), 12 deletions(-) delete mode 100644 superlu-rpmlintrc diff --git a/superlu-rpmlintrc b/superlu-rpmlintrc deleted file mode 100644 index f7feab9..0000000 --- a/superlu-rpmlintrc +++ /dev/null @@ -1,7 +0,0 @@ -# This line is mandatory to access the configuration functions -from Config import * - -# HPC libs are installed in a non-standard location: don't run ldconfig -addFilter("superlu.*-hpc.* library-without-ldconfig-postin") -addFilter("superlu.*-hpc.* library-without-ldconfig-postun") - diff --git a/superlu.changes b/superlu.changes index 6eec850..ce14fdf 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,9 +1,9 @@ ------------------------------------------------------------------- -Wed Jan 16 09:35:05 UTC 2019 - eich@suse.com +Fri Jan 18 14:46:44 UTC 2019 - eich@suse.com -- Limit rpmlintrc filters to HPC packages and document the - motivation behind it: HPC libraries are installed into - non-standard install paths. +- 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 - eich@suse.com diff --git a/superlu.spec b/superlu.spec index 18fff82..37500e9 100644 --- a/superlu.spec +++ b/superlu.spec @@ -59,7 +59,6 @@ Release: 0 Source: http://crd-legacy.lbl.gov/%7Exiaoye/SuperLU/%{pname}_%{version}.tar.gz Source1: superlu_ug.pdf Source2: README.SUSE -Source3: superlu-rpmlintrc # 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 @@ -215,6 +214,11 @@ EOF %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 lib%{name}%{?_sover} From df5e9ccd4abbbcbbe55d6c196de9c37977b598ca68b771883f6d0f4ce837a413 Mon Sep 17 00:00:00 2001 From: Egbert Eich Date: Mon, 21 Jan 2019 15:15:18 +0000 Subject: [PATCH 08/10] - Fix a word in a comment. - Remove some colloquialism from a package description. OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=8 --- superlu.changes | 6 ++++++ superlu.spec | 7 +++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/superlu.changes b/superlu.changes index ce14fdf..1326359 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Mon Jan 21 15:09:13 UTC 2019 - eich@suse.com + +- Fix a word in a comment. +- Remove some colloquialism from a package description. + ------------------------------------------------------------------- Fri Jan 18 14:46:44 UTC 2019 - eich@suse.com diff --git a/superlu.spec b/superlu.spec index 37500e9..777fabf 100644 --- a/superlu.spec +++ b/superlu.spec @@ -90,7 +90,9 @@ BuildRequires: suse-hpc >= 0.3 SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -Docu can be found in the %{name}-doc package or on http://www.netlib.org. +Documentation can be found in the %{name}-doc package or on +http://www.netlib.org. + %package -n lib%{name}%{?_sover} Summary: SuperLU matrix solver @@ -142,7 +144,7 @@ decomposition of sparse matrices. %patch2 -p1 %patch3 -p1 cp %SOURCE1 %SOURCE2 ./ -# Create baselib.conf dynamically (non-HPC build only). +# Create baselibs.conf dynamically (non-HPC build only). %if %{without hpc} cat > %{_sourcedir}/baselibs.conf < Date: Tue, 22 Jan 2019 12:09:57 +0000 Subject: [PATCH 09/10] Accepting request 667781 from home:eeich:factory_staging - Disable HPC builds for ring testing on Factory submissions. OBS-URL: https://build.opensuse.org/request/show/667781 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=9 --- superlu.changes | 5 ++--- superlu.spec | 13 ++++++++----- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/superlu.changes b/superlu.changes index 1326359..60775f0 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,8 +1,7 @@ ------------------------------------------------------------------- -Mon Jan 21 15:09:13 UTC 2019 - eich@suse.com +Tue Jan 22 11:58:01 UTC 2019 - eich@suse.com -- Fix a word in a comment. -- Remove some colloquialism from a package description. +- Disable HPC builds for ring testing on Factory submissions. ------------------------------------------------------------------- Fri Jan 18 14:46:44 UTC 2019 - eich@suse.com diff --git a/superlu.spec b/superlu.spec index 777fabf..c7aee86 100644 --- a/superlu.spec +++ b/superlu.spec @@ -38,6 +38,12 @@ ExclusiveArch: do_not_build %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 @@ -90,9 +96,7 @@ BuildRequires: suse-hpc >= 0.3 SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -Documentation can be found in the %{name}-doc package or on -http://www.netlib.org. - +Docu can be found in the %{name}-doc package or on http://www.netlib.org. %package -n lib%{name}%{?_sover} Summary: SuperLU matrix solver @@ -144,7 +148,7 @@ decomposition of sparse matrices. %patch2 -p1 %patch3 -p1 cp %SOURCE1 %SOURCE2 ./ -# Create baselibs.conf dynamically (non-HPC build only). +# Create baselib.conf dynamically (non-HPC build only). %if %{without hpc} cat > %{_sourcedir}/baselibs.conf < Date: Wed, 23 Jan 2019 11:50:48 +0000 Subject: [PATCH 10/10] Accepting request 667987 from home:eeich:factory_staging Fix typo. OBS-URL: https://build.opensuse.org/request/show/667987 OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=10 --- superlu.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/superlu.spec b/superlu.spec index c7aee86..6336e00 100644 --- a/superlu.spec +++ b/superlu.spec @@ -40,7 +40,7 @@ ExclusiveArch: do_not_build %bcond_with ringdisabled -%if %{with_hpc} && %{with ringdisabled} +%if %{with hpc} && %{with ringdisabled} ExclusiveArch: do_not_build %endif