diff --git a/blacs.spec b/blacs.spec index c3b25a9..278aca9 100644 --- a/blacs.spec +++ b/blacs.spec @@ -53,9 +53,6 @@ Group: Development/Libraries BuildRequires: mpich2-devel-static Requires: %{name}-common = %{version}-%{release} Requires: environment-modules -# This is a dirty lie, but something needs to reap these dead subpackages. -Provides: blacs-lam = %{version}-%{release} -Obsoletes: blacs-lam < 1.1-34 %description mpich2 The BLACS (Basic Linear Algebra Communication Subprograms) project is @@ -74,8 +71,6 @@ This package contains BLACS libraries compiled with mpich2. Summary: Development libraries for blacs (mpich2) Group: Development/Libraries Requires: %{name}-mpich2 = %{version}-%{release} -Provides: blacs-lam-devel = %{version}-%{release} -Obsoletes: blacs-lam-devel < 1.1-34 %description mpich2-devel This package contains development libraries for blacs, compiled against mpich2. @@ -83,8 +78,6 @@ This package contains development libraries for blacs, compiled against mpich2. %package mpich2-static Summary: Static libraries for blacs (mpich2) Group: Development/Libraries -Provides: blacs-lam-static = %{version}-%{release} -Obsoletes: blacs-lam-static < 1.1-34 %description mpich2-static This package contains static libraries for blacs, compiled against mpich2. @@ -128,18 +121,18 @@ This package contains static libraries for blacs, compiled against openmpi. %setup -q -c -n %{name} %patch0 -p1 for i in mpich2 openmpi; do - cp -a BLACS BLACS-$i - cp -f %{SOURCE1} BLACS-$i/ + cp -ap BLACS BLACS-$i + cp -fp %{SOURCE1} BLACS-$i/ sed -i "s|FOO|$i|g" BLACS-$i/Bmake.inc done # copy in docs: -cp %{SOURCE2} mpi_prop.ps -cp %{SOURCE3} blacs_install.ps -cp %{SOURCE4} mpiblacs_issues.ps -cp %{SOURCE5} f77blacsqref.ps -cp %{SOURCE6} cblacsqref.ps -cp %{SOURCE7} lawn94.ps +cp -p %{SOURCE2} mpi_prop.ps +cp -p %{SOURCE3} blacs_install.ps +cp -p %{SOURCE4} mpiblacs_issues.ps +cp -p %{SOURCE5} f77blacsqref.ps +cp -p %{SOURCE6} cblacsqref.ps +cp -p %{SOURCE7} lawn94.ps %build # CFLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/-fstack-protector//g'` @@ -173,23 +166,26 @@ RPM_OPT_FLAGS=`echo $CFLAGS` # mkdir -p ${RPM_BUILD_ROOT}%{_bindir} for i in mpich2 openmpi; do - mkdir -p %{buildroot}%{_libdir}/blacs-$i/ - mkdir -p %{buildroot}%{_includedir}/blacs-$i/ + mkdir -p %{buildroot}%{_libdir}/$i/ + mkdir -p %{buildroot}%{_includedir}/$i-%{_arch}/ + mkdir -p %{buildroot}%{_includedir}/blacs/ pushd BLACS-$i/LIB for f in *.a *.so*; do - cp -f $f %{buildroot}%{_libdir}/blacs-$i/$f + cp -f $f %{buildroot}%{_libdir}/$i/$f done popd - install -p BLACS-$i/SRC/MPI/Bdef.h %{buildroot}%{_includedir}/blacs-$i/ - pushd %{buildroot}%{_libdir}/blacs-$i/ + # This file is independent of the MPI compiler used, but it is poorly named + # So we'll put it in %{_includedir}/blacs/ + install -p BLACS-$i/SRC/MPI/Bdef.h %{buildroot}%{_includedir}/blacs/ + pushd %{buildroot}%{_libdir}/$i/ for l in libmpiblacs libmpiblacsF77init libmpiblacsCinit; do ln -fs $l.so.1.0.0 $l.so.1 ln -s $l.so.1.0.0 $l.so done popd # Generate environment module file -mkdir -p %{buildroot}%{_datadir}/Modules/modulefiles/ -cat << EOF > %{buildroot}%{_datadir}/Modules/modulefiles/blacs-$i-%{_arch} +mkdir -p %{buildroot}%{_sysconfdir}/modulefiles/ +cat << EOF > %{buildroot}%{_sysconfdir}/modulefiles/blacs-$i-%{_arch} #%Module 1.0 # # Blacs libraries compiled with $i support @@ -208,39 +204,45 @@ rm -fr ${RPM_BUILD_ROOT} %files common %defattr(-,root,root,0755) %doc mpi_prop.ps blacs_install.ps mpiblacs_issues.ps f77blacsqref.ps cblacsqref.ps lawn94.ps +%{_includedir}/blacs/ # %{_bindir}/x*test_MPI-LINUX-0 %files mpich2 %defattr(-,root,root,0755) -%dir %{_libdir}/blacs-mpich2/ -%{_datadir}/Modules/modulefiles/blacs-mpich2-%{_arch} -%{_libdir}/blacs-mpich2/*.so.* +%{_sysconfdir}/modulefiles/blacs-mpich2-%{_arch} +%{_libdir}/mpich2/*.so.* %files mpich2-devel %defattr(-,root,root,0755) -%{_includedir}/blacs-mpich2/ -%{_libdir}/blacs-mpich2/*.so +%{_includedir}/mpich2-%{_arch}/ +%{_libdir}/mpich2/*.so %files mpich2-static %defattr(-,root,root,0755) -%{_libdir}/blacs-mpich2/*.a +%{_libdir}/mpich2/*.a %files openmpi %defattr(-,root,root,0755) -%dir %{_libdir}/blacs-openmpi/ -%{_datadir}/Modules/modulefiles/blacs-openmpi-%{_arch} -%{_libdir}/blacs-openmpi/*.so.* +%{_sysconfdir}/modulefiles/blacs-openmpi-%{_arch} +%{_libdir}/openmpi/*.so.* %files openmpi-devel %defattr(-,root,root,0755) -%{_includedir}/blacs-openmpi/ -%{_libdir}/blacs-openmpi/*.so +%{_includedir}/openmpi-%{_arch}/ +%{_libdir}/openmpi/*.so %files openmpi-static %defattr(-,root,root,0755) -%{_libdir}/blacs-openmpi/*.a +%{_libdir}/openmpi/*.a %changelog +* Tue Feb 16 2010 Tom "spot" Callaway - 1.1-36 +- put libraries in appropriate locations +- put include files in appropriate locations +- put environment module files in appropriate location +- use -p with every cp invocation +- drop Provides/Obsoletes for blacs-lam-* + * Thu Dec 10 2009 Deji Akingunola - 1.1-35 - Buildrequire mpich2-devel-static - Adjust obsolete versioning