Hello community,

here is the log from the commit of package arpack-ng for openSUSE:Factory 
checked in at 2019-12-16 15:19:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/arpack-ng (Old)
 and      /work/SRC/openSUSE:Factory/.arpack-ng.new.4691 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "arpack-ng"

Mon Dec 16 15:19:57 2019 rev:13 rq:757207 version:3.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/arpack-ng/arpack-ng.changes      2019-11-04 
17:15:56.980872849 +0100
+++ /work/SRC/openSUSE:Factory/.arpack-ng.new.4691/arpack-ng.changes    
2019-12-16 15:19:59.543148563 +0100
@@ -1,0 +2,13 @@
+Sun Dec 15 20:27:10 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de>
+
+- Create baselibs.conf on the fly, based on flavor.
+
+-------------------------------------------------------------------
+Sun Dec  8 22:36:32 UTC 2019 - Stefan Brüns <stefan.bru...@rwth-aachen.de>
+
+- Use _multibuild for building serial and MPI versions, readd
+  openmpi(1) for older distribution versions, add openmpi3.
+- Reflect MPI flavor in package names
+- Stop distributing compiled examples
+
+-------------------------------------------------------------------

Old:
----
  baselibs.conf

New:
----
  _multibuild

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ arpack-ng.spec ++++++
--- /var/tmp/diff_new_pack.jtvpm3/_old  2019-12-16 15:20:00.659148098 +0100
+++ /var/tmp/diff_new_pack.jtvpm3/_new  2019-12-16 15:20:00.663148097 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package arpack-ng
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,38 +16,82 @@
 #
 
 
-%define libname libarpack2
-%define plibname libparpack2
-%define major  3
-%define minor  0
-%define ompi_ver openmpi2
+%global flavor @BUILD_FLAVOR@%{nil}
 
-%if 0%{?sles_version}
-%define _mpi %ompi_ver mvapich2
+%define so_ver 2
+
+%if 0%{?sle_version} >= 150200
+%define DisOMPI1 ExclusiveArch:  do_not_build
+%endif
+%if !0%{?is_opensuse} && 0%{?sle_version:1} && 0%{?sle_version} < 150200
+%define DisOMPI3 ExclusiveArch:  do_not_build
+%endif
+
+%if "%flavor" == ""
+ExclusiveArch:  do_not_build
+%endif
+
+%if "%flavor" == "serial"
+%{bcond_with hpc}
+%endif
+
+%if "%flavor" == "openmpi1"
+%{?DisOMPI1}
+%define mpi_family openmpi
+%define mpi_ver 1
+%{bcond_with hpc}
+%endif
+
+%if "%flavor" == "openmpi2"
+%{?DisOMPI2}
+%define mpi_family openmpi
+%define mpi_ver 2
+%{bcond_with hpc}
+%endif
+
+%if "%flavor" == "openmpi3"
+%{?DisOMPI3}
+%define mpi_family openmpi
+%define mpi_ver 3
+%{bcond_with hpc}
+%endif
+
+# openmpi 1 was called just "openmpi" in Leap 15.x/SLE15
+%if 0%{?suse_version} >= 1550 || "%{mpi_family}" != "openmpi"  || "%{mpi_ver}" 
!= "1"
+%define mpi_ext %{?mpi_ver}
+%endif
+
+%if 0%{?mpi_family:1}
+%{bcond_without mpi}
+%define pkgname   parpack-%{mpi_family}%{?mpi_ext}
+%define libname() libparpack%{so_ver}-%{mpi_family}%{?mpi_ext}
+%global my_prefix %{_libdir}/mpi/gcc/%{mpi_family}%{?mpi_ext}
+%global my_libdir %{my_prefix}/%{_lib}
 %else
-%define _mpi %ompi_ver
+%{bcond_with mpi}
+%define pkgname   arpack-ng
+%define libname() libarpack%{so_ver}
+%global my_prefix %{_prefix}
+%global my_libdir %{_libdir}
 %endif
-Name:           arpack-ng
+
+Name:           %{pkgname}
 Version:        3.5.0
 Release:        0
 Summary:        Fortran77 subroutines for solving large scale eigenvalue 
problems
 License:        BSD-3-Clause
 Group:          System/Libraries
-Url:            https://github.com/opencollab/arpack-ng
+URL:            https://github.com/opencollab/arpack-ng
 Source0:        
https://github.com/opencollab/arpack-ng/archive/%{version}.tar.gz
-Source1:        baselibs.conf
-BuildRequires:  %{ompi_ver}-devel
+%if %{with mpi}
+BuildRequires:  %{mpi_family}%{?mpi_ext}-devel
+%endif
 BuildRequires:  autoconf
 BuildRequires:  blas-devel
 BuildRequires:  gcc-fortran
 BuildRequires:  lapack-devel
 BuildRequires:  libtool
 BuildRequires:  pkg-config
-Obsoletes:      arpack < %{version}
-Provides:       arpack = %{version}
-%if 0%{?sles_version}
-BuildRequires:  mvapich2-devel
-%endif
 
 %description
 ARPACK is a collection of Fortran77 subroutines designed to solve
@@ -59,13 +103,19 @@
 %package        devel
 Summary:        Development files for %{name}
 Group:          Development/Libraries/Other
+%if %{with mpi}
+Requires:       %{mpi_family}%{?mpi_ext}-devel
+%else
+Obsoletes:      arpack-devel < %{version}
+Provides:       arpack-devel = %{version}
+%endif
 Requires:       %{libname} = %{version}-%{release}
 Requires:       blas-devel
 Requires:       gcc-fortran
 Requires:       lapack-devel
-Requires:       pkgconfig
-Obsoletes:      arpack-devel < %{version}
-Provides:       arpack-devel = %{version}
+%if "%{name}" == "parpack-openmpi1"
+Provides:       parpack-openmpi-devel = %{version}
+%endif
 
 %description    devel
 The %{name}-devel package contains libraries and header files for
@@ -74,221 +124,72 @@
 %package     -n %{libname}
 Summary:        Files needed for developing arpack based applications
 Group:          System/Libraries
-Provides:       %{libname}_%{major}_%{minor} = %{version}
-Obsoletes:      %{libname}_%{major}_%{minor} < %{version}
+%if %{with mpi}
+Requires:       %{mpi_family}%{?mpi_ext}-libs
+%endif
 
 %description -n %{libname}
 ARPACK is a collection of Fortran77 subroutines designed to solve
 large scale eigenvalue problems. This package contains the so
 library links used for building arpack based applications.
 
-%package     -n parpack-openmpi
-Summary:        Development files for %{name}
-Group:          Development/Libraries/Other
-Requires:       %{plibname}-openmpi = %{version}
-
-%description -n parpack-openmpi
-ARPACK is a collection of Fortran77 subroutines designed to solve
-large scale eigenvalue problems.
-
-Arpack-ng is the successor of the legacy Arpack. It is fully compatible
-with Arpack.
-
-%package     -n parpack-openmpi-devel
-Summary:        Development files for %{name}
-Group:          Development/Libraries/Parallel
-Requires:       %{plibname}-openmpi = %{version}
-Requires:       blas-devel
-Requires:       lapack-devel
-Requires:       openmpi-devel
-
-%description     -n parpack-openmpi-devel
-The %{name}-openmpi-devel package contains libraries and header files for
-developing applications that use %{name}.
-
-%package     -n %{plibname}-openmpi
-Summary:        Files needed for developing arpack based applications
-Group:          System/Libraries
-Provides:       %{plibname}_%{major}_%{minor} = %{version}
-Obsoletes:      %{plibname}_%{major}_%{minor} < %{version}
-Requires:       %{ompi_ver}-libs
-
-%description -n %{plibname}-openmpi
-ARPACK is a collection of Fortran77 subroutines designed to solve
-large scale eigenvalue problems. This package contains the so
-library links used for building arpack based applications.
-
-%if 0%{?sles_version}
-%package     -n parpack-mvapich2
-Summary:        Development files for %{name}
-Group:          Development/Libraries/Parallel
-Requires:       %{plibname}-mvapich2 = %{version}
-Requires:       mvapich2
-
-%description     -n parpack-mvapich2
-ARPACK is a collection of Fortran77 subroutines designed to solve
-large scale eigenvalue problems.
-
-Arpack-ng is the successor of the legacy Arpack. It is fully compatible
-with Arpack.
-
-%package     -n parpack-mvapich2-devel
-Summary:        Development files for %{name}
-Group:          Development/Libraries/Parallel
-Requires:       %{plibname}-mvapich2 = %{version}
-Requires:       blas-devel
-Requires:       lapack-devel
-Requires:       mvapich2-devel
+%prep
+%setup -q -n arpack-ng-%{version}
 
-%description -n parpack-mvapich2-devel
-The %{name}-mvapich2-devel package contains libraries and header files for
-developing applications that use %{name}.
+# create baselibs.conf based on flavor
+cat >  %{_sourcedir}/baselibs.conf <<EOF
+%{libname}
+%{name}-devel
+    requires -%{name}-<targettype>
+    requires "%{libname}-<targettype> = <version>"
+EOF
 
-%package     -n %{plibname}-mvapich2
-Summary:        Files needed for developing arpack based applications
-Group:          System/Libraries
-Provides:       %{plibname}_%{major}_%{minor} = %{version}
-Obsoletes:      %{plibname}_%{major}_%{minor} < %{version}
+%build
 
-%description -n %{plibname}-mvapich2
-ARPACK is a collection of Fortran77 subroutines designed to solve
-large scale eigenvalue problems. This package contains the so
-library links used for building arpack based applications.
+%if %{with mpi}
+export F77=%{my_prefix}/bin/mpif77
+export MPIF77=%{my_prefix}/bin/mpif77
+export LD_LIBRARY_PATH=%{my_prefix}/%{_lib}
 %endif
 
-%prep
-%setup -q
-set -- *
-
-cp -r EXAMPLES examples
-
-for i in %{_mpi}
-do
-    mkdir arpack-ng-$i
-    cp -ap "$@" arpack-ng-$i
-done
-
-%build
+%global orig_prefix %{_prefix}
+%define _prefix %{my_prefix}
 sh bootstrap
-%configure --disable-static
-
+%configure --disable-static \
+          %{?with_mpi: --enable-mpi} \
+          %{nil}
+%define _prefix %{orig_prefix}
 make %{?_smp_mflags}
 
-for i in %{_mpi}
-do
-    pushd arpack-ng-$i
-
-    export F77=%{_libdir}/mpi/gcc/$i/bin/mpif77
-    export MPIF77=%{_libdir}/mpi/gcc/$i/bin/mpif77
-    export LD_LIBRARY_PATH=%{_libdir}/mpi/gcc/$i/%{_lib}
-    %define _prefix /usr/%{_lib}/mpi/gcc/\$i
-
-    sh bootstrap
-    %configure --disable-static \
-               --enable-mpi
-    make %{?_smp_mflags}
-
-    # `make check` is necessary to build the test programs for PARPACK.
-    # TODO: Verify if we really want to include those tests in the package.
-    make check
-
-    popd
-done
-
-# Set prefix to default value
-%define _prefix /usr
-
 %install
 %make_install
 find %{buildroot} -type f -name "*.la" -delete -print
 
-for i in %{_mpi}
-do
-    pushd arpack-ng-$i
-
-    make %{?_smp_mflags} DESTDIR=%{buildroot} install
-    rm -rf %{buildroot}%{_libdir}/mpi/gcc/$i/%{_lib}/libarpack.*
-
-    # Install the test programs.
-    mkdir -p %{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-
-    pushd PARPACK/EXAMPLES/MPI
-
-    libtool --mode=install install -Dm755 pcndrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 pdndrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 pdndrv3 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 pdsdrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 psndrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 psndrv3 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 pssdrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-    libtool --mode=install install -Dm755 pzndrv1 
%{buildroot}%{_libdir}/mpi/gcc/$i/bin/
-
-    popd
+# Remove sequential version files
+%if %{with mpi}
+rm -Rf %{buildroot}%{my_libdir}/pkgconfig
+rm %{buildroot}%{my_libdir}/libarpack.so*
+%endif
 
-    popd
-done
+ln -s EXAMPLES examples
 
 %check
 make %{?_smp_mflags} check
 
-for i in %{_mpi}
-do
-    pushd arpack-ng-$i
-    make check
-    popd
-done
-
 %post   -n %{libname}           -p /sbin/ldconfig
 %postun -n %{libname}           -p /sbin/ldconfig
-%post   -n %{plibname}-openmpi  -p /sbin/ldconfig
-%postun -n %{plibname}-openmpi  -p /sbin/ldconfig
-
-%if 0%{?sles_version}
-%post   -n %{plibname}-mvapich2 -p /sbin/ldconfig
-%postun -n %{plibname}-mvapich2 -p /sbin/ldconfig
-%endif
 
 %files -n %{libname}
-%defattr(-,root,root,-)
-%doc CHANGES COPYING README TODO
-%{_libdir}/*.so.*
+%license COPYING
+%doc CHANGES README TODO
+%{my_libdir}/*.so.*
 
 %files devel
-%defattr(-,root,root,-)
 %doc examples
-%{_libdir}/*.so
+%{my_libdir}/*.so
+%if %{without mpi}
+%dir %{_libdir}/pkgconfig
 %{_libdir}/pkgconfig/*.pc
-
-%files -n parpack-openmpi
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/%{ompi_ver}/bin/p??drv?
-
-%files -n %{plibname}-openmpi
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/lib*arpack.so.*
-
-%files -n parpack-openmpi-devel
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/libparpack.so
-%{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/libparpack.la
-%dir %{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/pkgconfig
-%{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/pkgconfig/*.pc
-
-%if 0%{?sles_version}
-%files -n parpack-mvapich2
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/mvapich2/bin/p??drv?
-
-%files -n %{plibname}-mvapich2
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libparpack.so.*
-
-%files -n parpack-mvapich2-devel
-%defattr(-,root,root,-)
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libparpack.so
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/libparpack.la
-%dir %{_libdir}/mpi/gcc/%{ompi_ver}/%{_lib}/pkgconfig
-%{_libdir}/mpi/gcc/mvapich2/%{_lib}/pkgconfig/*.pc
 %endif
 
 %changelog

++++++ _multibuild ++++++
<multibuild>
  <package>serial</package>
  <package>openmpi1</package>
  <package>openmpi2</package>
  <package>openmpi3</package>
</multibuild>

Reply via email to