Accepting request 674938 from science

- add a examples subpackage which include graphs* file to test Metis

- Set default module version correctly when installing
  master package, unset when deinstalling the default library
  package.
- Fix %%post and %%postun scripts for HPC.
- Fix dependencies for HPC.
- Fix HPC modulefile:
  * Aibraries are always there when module file is installed.
  * Set PKG_CONFIG_PATH.
- Fix package group names.

OBS-URL: https://build.opensuse.org/request/show/674938
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/metis?expand=0&rev=6
This commit is contained in:
Stephan Kulow 2019-02-25 16:45:31 +00:00 committed by Git OBS Bridge
commit c265f5c479
2 changed files with 58 additions and 15 deletions

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Tue Feb 12 12:58:53 UTC 2019 - Antoine Ginies <aginies@suse.com>
- add a examples subpackage which include graphs* file to test Metis
-------------------------------------------------------------------
Mon Feb 11 06:52:10 UTC 2019 - Egbert Eich <eich@suse.com>
- Set default module version correctly when installing
master package, unset when deinstalling the default library
package.
- Fix %%post and %%postun scripts for HPC.
- Fix dependencies for HPC.
- Fix HPC modulefile:
* Aibraries are always there when module file is installed.
* Set PKG_CONFIG_PATH.
- Fix package group names.
-------------------------------------------------------------------
Mon Jan 14 09:50:54 UTC 2019 - eich@suse.com

View File

@ -12,7 +12,7 @@
# 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/
#
@ -93,10 +93,11 @@ BuildRequires: cmake >= 2.8
BuildRequires: gcc
BuildRequires: gcc-c++
%if %{with hpc}
%hpc_requires
BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel
BuildRequires: lua-lmod
BuildRequires: suse-hpc
%hpc_requires
Requires: %libname = %version
%endif
Recommends: %{name}-doc = %{version}
@ -108,7 +109,7 @@ and computing fill-reducing orderings of sparse matrices. The underlying algorit
used by METIS are based on a multilevel paradigm that, at the time, had been
shown to produce quality results and scale to large problems.
%{?with_hpc:%{hpc_master_package}}
%{?with_hpc:%{hpc_master_package -L}}
%package -n %{libname}
Summary: Serial Graph Partitioning and Fill-reducing Matrix Ordering library
@ -127,7 +128,10 @@ shown to produce quality results and scale to large problems.
Summary: Metis development files
Group: Development/Libraries/C and C++
Requires: %libname = %{version}
%{?with_hpc:%hpc_requires_devel}
%if %{with hpc}
%hpc_requires_devel
Requires: %libname = %version
%endif
%description devel
METIS library provides to partitioning unstructured graphs and hypergraph
@ -137,7 +141,7 @@ shown to produce quality results and scale to large problems.
This package provides development files.
%{?with_hpc:%{hpc_master_package devel}}
%{?with_hpc:%{hpc_master_package -L devel}}
%package doc
Summary: Metis documentation
@ -152,6 +156,16 @@ shown to produce quality results and scale to large problems.
%{?with_hpc:%{hpc_master_package doc}}
%package examples
Summary: Metis examples
Group: Documentation/Other
BuildArch: noarch
%description examples
METIS library provides to partitioning unstructured graphs and hypergraph
and computing fill-reducing orderings of sparse matrices. This package provides
graph files you can use to test Metis.
%prep
%{?with_hpc: %hpc_debug}
%setup -q -n %{pname}-%{version}
@ -178,7 +192,7 @@ make %{?_smp_mflags}
make install DESTDIR=%{buildroot}
%if %{with hpc}
%{hpc_write_pkgconfig -n %{pname} -l lib%{pname}}
%{hpc_write_pkgconfig}
%hpc_write_modules_files
#%%Module1.0#####################################################################
@ -193,7 +207,7 @@ puts stderr "\nVersion %{version}\n"
module-whatis "Name: %{pname} built with %{compiler_family} toolchain"
module-whatis "Version: %{version}"
module-whatis "Category: runtime library"
module-whatis "Description: %{summary}"
module-whatis "Description: %{SUMMARY}"
module-whatis "%{url}"
set version %{version}
@ -205,13 +219,13 @@ setenv %{hpc_upcase %pname}_DIR %{hpc_prefix}
setenv %{hpc_upcase %pname}_BIN %{hpc_bindir}
setenv %{hpc_upcase %pname}_LIB %{hpc_libdir}
if {[file isdirectory %{hpc_includedir}]} {
prepend-path LIBRARY_PATH %{hpc_libdir}
if {[file isdirectory %{hpc_includedir}]} {
prepend-path CPATH %{hpc_includedir}
prepend-path C_INCLUDE_PATH %{hpc_includedir}
prepend-path CPLUS_INCLUDE_PATH %{hpc_includedir}
prepend-path INCLUDE %{hpc_includedir}
%hpc_modulefile_add_pkgconfig_path
setenv %{hpc_upcase %pname}_INC %{hpc_includedir}
}
@ -221,18 +235,26 @@ EOF
%endif
%check
cp -p %{buildroot}%{p_bindir}/* graphs
pushd graphs
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH ./ndmetis mdual.graph
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH ./mpmetis metis.mesh 2
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH ./gpmetis test.mgraph 4
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH ./gpmetis copter2.graph 4
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH ./graphchk 4elt.graph
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/ndmetis mdual.graph
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/mpmetis metis.mesh 2
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/gpmetis test.mgraph 4
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/gpmetis copter2.graph 4
LD_LIBRARY_PATH=%{buildroot}%{p_libdir}:$LD_LIBRARY_PATH %{buildroot}%{p_bindir}/graphchk 4elt.graph
popd
%if %{without hpc}
%post -n %libname -p /sbin/ldconfig
%postun -n %libname -p /sbin/ldconfig
%else
%post -n %libname
/sbin/ldconfig -N %{p_libdir}
%postun -n %libname
/sbin/ldconfig -N %{p_libdir}
%hpc_module_delete_if_default
%endif
%files
%{?with_hpc:%dir %p_bindir}
@ -254,4 +276,7 @@ popd
%files doc
%doc manual/manual.pdf
%files examples
%doc graphs
%changelog