rpms/cernlib/devel cernlib.spec,1.47,1.48

Patrice Dumas (pertusus) fedora-extras-commits at redhat.com
Mon Apr 23 21:08:44 UTC 2007


Author: pertusus

Update of /cvs/extras/rpms/cernlib/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv25717

Modified Files:
	cernlib.spec 
Log Message:
* Mon Apr 23 2007 Patrice Dumas <pertusus at free.fr> 2006-6
- package compiled with g77 is parallel installable with gfortran 
  compiled package



Index: cernlib.spec
===================================================================
RCS file: /cvs/extras/rpms/cernlib/devel/cernlib.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- cernlib.spec	23 Apr 2007 09:31:17 -0000	1.47
+++ cernlib.spec	23 Apr 2007 21:08:10 -0000	1.48
@@ -4,9 +4,19 @@
 %bcond_with gfortran
 %endif
 
-Name:          cernlib
+# compiler is used to disambiguate package names and executables
+%if %{with gfortran}
+%else
+%define compiler -g77
+%endif
+# verdir is the directory used for libraries and replaces the version 
+# in some files and file names
+%define verdir %{version}%{?compiler}
+# data files should be the same and therefore parallel installable
+
+Name:          cernlib%{?compiler}
 Version:       2006
-Release:       5.4%{?dist}
+Release:       6%{?dist}
 Summary:       General purpose CERN library and associated binaries
 Group:         Development/Libraries
 # As explained in the cernlib on debian FAQ, cfortran can be considered LGPL.
@@ -358,22 +368,22 @@
 want to have different compile script and different environments for 
 different versions of the library you have to set them by hand.
 
-%package -n paw
+%package -n paw%{?compiler}
 Group: Applications/Engineering
 Summary: A program for the analysis and presentation of data
 
-%description -n paw
+%description -n paw%{?compiler}
 PAW is conceived as an instrument to assist physicists in the analysis and 
 presentation of their data. It provides interactive graphical presentation 
 and statistical or mathematical analysis, working on objects familiar to 
 physicists like histograms, event files (Ntuples), vectors, etc. PAW is 
 based on several components of the CERN Program Library.
 
-%package -n geant321
+%package -n geant321%{?compiler}
 Summary:  Particle detector description and simulation tool
 Group:    Applications/Engineering
 Requires: cernlib-devel cernlib-utils
-%description -n geant321
+%description -n geant321%{?compiler}
 Geant simulates the passage of subatomic particles through matter, for 
 instance, particle detectors. For maximum flexibility, Geant simulations 
 are performed by linking Fortran code supplied by the user with the Geant 
@@ -381,12 +391,12 @@
 
 This package includes gxint, the script used to perform this linking step. 
 
-%package -n kuipc
+%package -n kuipc%{?compiler}
 Summary:  Cernlib's Kit for a User Interface Package (KUIP) compiler
 Group:    Development/Languages
 Requires: cernlib-devel
 
-%description -n kuipc
+%description -n kuipc%{?compiler}
 KUIPC, the Kit for a User Interface Package Compiler, is a tool to simplify 
 the writing of a program's user interface code. It takes as input a Command 
 Definition File (CDF) that describes the commands to be understood by the 
@@ -405,15 +415,18 @@
 According to the responsible of the cernlib debian package, some
 of these utilities may have security flaws.
 
-%package -n patchy
+%package -n patchy%{?compiler}
 Group: Applications/Archiving
 Summary: The patchy utilities
 
-%description -n patchy
+%description -n patchy%{?compiler}
 Utilities for extracting sources from patchy cards and cradles.
 
 
 %prep
+
+echo 'Building cernlib %{verdir}'
+
 %setup -q -c 
 # patchy4
 %setup -q -T -D -a 17
@@ -667,7 +680,7 @@
 
 %build
 
-CERN=$RPM_BUILD_DIR/cernlib-%{version}
+CERN=$RPM_BUILD_DIR/%{name}-%{version}
 CERN_LEVEL=%{version}
 CERN_ROOT=$CERN/$CERN_LEVEL
 CVSCOSRC=$CERN/$CERN_LEVEL/src
@@ -692,8 +705,8 @@
 
 # set the CERN and CERN_LEVEL environment variables in shell scripts
 # meant to go to /etc/profile.d
-sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE100} > cernlib-%{version}.sh
-sed -e 's/==CERN_LEVEL==/%{version}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE105} > cernlib-%{version}.csh
+sed -e 's/==CERN_LEVEL==/%{verdir}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE100} > cernlib-%{verdir}.sh
+sed -e 's/==CERN_LEVEL==/%{verdir}/' -e 's:==CERN==:%{_libdir}/cernlib:' %{SOURCE105} > cernlib-%{verdir}.csh
 
 cp -p %{SOURCE101} .
 cp -p %{SOURCE102} .
@@ -707,7 +720,7 @@
 cd $CERN_ROOT
 
 # substitude the right defaults in the scripts
-sed -i -e 's:"/cern":"%{_libdir}/cernlib/":' -e 's:"pro":"%{version}":' \
+sed -i -e 's:"/cern":"%{_libdir}/cernlib/":' -e 's:"pro":"%{verdir}":' \
    src/scripts/paw src/scripts/cernlib src/graflib/dzdoc/dzedit/dzedit.script \
    ../patchy/ylist ../patchy/yindex
 
@@ -734,7 +747,7 @@
 mv src/scripts/cernlib src/scripts/cernlib-static
 %{__install} -p -m755 src/scripts/cernlib-static bin/cernlib-static
 sed -e 's:@PREFIX@:%{_prefix}:g' \
-  -e 's:@LIBPREFIX@:%{_libdir}/cernlib/%{version}:g' \
+  -e 's:@LIBPREFIX@:%{_libdir}/cernlib/%{verdir}:g' \
   -e 's/-lg2c//' \
   ../cernlib-2006.dfsg/debian/add-ons/bin/cernlib.in > src/scripts/cernlib
 chmod 0755 src/scripts/cernlib
@@ -824,7 +837,6 @@
 ln -s $CERN_ROOT/build/p5boot/nypatchy $CERN_ROOT/bin/ypatchy
 
 # Build npatchy
-#%ifnarch ppc
 %if %{with gfortran}
         sed -i.gfortran -e 's/g77/gfortran/' $CERN_ROOT/src/patchy/fcasplit.F
 %endif
@@ -837,7 +849,6 @@
 # takes time the link may not be there on time. 
 # At least that's my understanding of the failure.
 make install.bin
-#%endif
 
 # it is not completly obvious that it is better to use patchy 4 for 
 # ypatchy, but that's what we do. In any case it should be replaced by a
@@ -849,8 +860,8 @@
 rm -rf %{buildroot}
 
 %{__install} -d -m755 %{buildroot}%{_sysconfdir}/profile.d
-%{__install} -p -m644 cernlib-%{version}.sh %{buildroot}%{_sysconfdir}/profile.d
-%{__install} -p -m644 cernlib-%{version}.csh %{buildroot}%{_sysconfdir}/profile.d
+%{__install} -p -m644 cernlib-%{verdir}.sh %{buildroot}%{_sysconfdir}/profile.d
+%{__install} -p -m644 cernlib-%{verdir}.csh %{buildroot}%{_sysconfdir}/profile.d
 
 %{__install} -d -m755 cfortran/Examples
 %{__install} -p -m644 %{version}/src/cfortran/Examples/*.c cfortran/Examples/
@@ -863,7 +874,7 @@
 find patchy -name y* -a -perm -755 -exec %{__install} -p -m755 {} %{buildroot}%{_bindir} ';'
 
 cd %{version}
-%{__install} -d -m755 %{buildroot}%{_libdir}/cernlib/%{version}/lib
+%{__install} -d -m755 %{buildroot}%{_libdir}/cernlib/%{verdir}/lib
 %{__install} -d -m755 %{buildroot}%{_datadir}/cernlib/%{version}
 %{__install} -d -m755 %{buildroot}%{_includedir}/cernlib/%{version}
 %{__install} -d -m755 %{buildroot}%{_includedir}/cernlib/%{version}/cfortran
@@ -874,15 +885,24 @@
 
 %{__install} -p -m755 bin/* %{buildroot}%{_bindir}/
 
-# add a link to pawX11 from %{_libdir}/cernlib/%{version}/bin
-%{__install} -d -m755 %{buildroot}%{_libdir}/cernlib/%{version}/bin/
-%{__ln_s} %{_bindir}/pawX11 %{buildroot}%{_libdir}/cernlib/%{version}/bin/pawX11
+
+# avoid name conflicts for files in bin
+if [ 'z%{?compiler}' != 'z' ]; then
+   for file in %{buildroot}%{_bindir}/*; do
+      mv $file ${file}%{compiler}
+   done
+fi
+
+
+# add a link to pawX11 from %{_libdir}/cernlib/%{verdir}/bin
+%{__install} -d -m755 %{buildroot}%{_libdir}/cernlib/%{verdir}/bin/
+%{__ln_s} %{_bindir}/pawX11%{?compiler} %{buildroot}%{_libdir}/cernlib/%{verdir}/bin/pawX11
 
 # to preserve symlinks and timestamps
-(cd lib && tar cf - *.a) | (cd %{buildroot}%{_libdir}/cernlib/%{version}/lib && tar xf -)
-(cd shlib && tar cf - *.so*) | (cd %{buildroot}%{_libdir}/cernlib/%{version}/lib && tar xf -)
+(cd lib && tar cf - *.a) | (cd %{buildroot}%{_libdir}/cernlib/%{verdir}/lib && tar xf -)
+(cd shlib && tar cf - *.so*) | (cd %{buildroot}%{_libdir}/cernlib/%{verdir}/lib && tar xf -)
 
-rm %{buildroot}%{_bindir}/mkdirhier
+rm %{buildroot}%{_bindir}/mkdirhier*
 
 # add links for cfortran header files in the top include directory
 pushd %{buildroot}%{_includedir}/cernlib/%{version}
@@ -914,7 +934,7 @@
 rm %{buildroot}%{_includedir}/cernlib/%{version}/kuip/kstring.h.*
 
 %{__install} -d -m755 %{buildroot}/etc/ld.so.conf.d
-echo %{_libdir}/cernlib/%{version}/lib > %{buildroot}/etc/ld.so.conf.d/cernlib-%{version}-%{_arch}.conf
+echo %{_libdir}/cernlib/%{verdir}/lib > %{buildroot}/etc/ld.so.conf.d/cernlib-%{verdir}-%{_arch}.conf
 
 %{__install} -d -m755 %{buildroot}/%{_mandir}/man1
 %{__install} -p -m644 man/man1/cernlib.1 %{buildroot}/%{_mandir}/man1/cernlib-static.1
@@ -930,9 +950,12 @@
 %{__install} -d -m755 %{buildroot}/%{_datadir}/X11/app-defaults
 %{__install} -p -m644 ../../*/debian/add-ons/app-defaults/* %{buildroot}/%{_datadir}/X11/app-defaults/
 
+sed -e 's/Exec=paw++/Exec=paw++%{?compiler}/' -e 's/PAW++/PAW++%{?compiler}/' \
+ ../../paw*/debian/add-ons/misc/paw++.desktop > paw++%{?compiler}.desktop
 desktop-file-install --vendor="fedora"               \
   --dir=%{buildroot}/%{_datadir}/applications         \
-  ../../paw*/debian/add-ons/misc/paw++.desktop
+  paw++%{?compiler}.desktop
+
 
 %{__install} -d -m755 %{buildroot}/%{_datadir}/pixmaps
 %{__install} -d -m755 %{buildroot}/%{_datadir}/icons/hicolor/{48x48,32x32}/apps/
@@ -943,8 +966,9 @@
 find %{buildroot}%{_includedir}/cernlib/%{version} -name Imakefile -exec rm -f \{\} \;
 rm %{buildroot}%{_includedir}/cernlib/%{version}/ntuple/*.c
 
+
 %check
-CERN=$RPM_BUILD_DIR/cernlib-%{version}
+CERN=$RPM_BUILD_DIR/%{name}-%{version}
 CERN_LEVEL=%{version}
 CERN_ROOT=$CERN/$CERN_LEVEL
 CVSCOSRC=$CERN/$CERN_LEVEL/src
@@ -980,11 +1004,11 @@
 
 %postun -p /sbin/ldconfig
 
-%post -n paw
+%post -n paw%{?compiler}
 touch --no-create %{_datadir}/icons/hicolor || :
 %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
 
-%postun -n paw
+%postun -n paw%{?compiler}
 touch --no-create %{_datadir}/icons/hicolor || :
 %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
 
@@ -997,10 +1021,10 @@
 %doc cernlib-2006.dfsg/debian/add-ons/vim/
 /etc/ld.so.conf.d/*
 %dir %{_libdir}/cernlib/
-%dir %{_libdir}/cernlib/%{version}
-%dir %{_libdir}/cernlib/%{version}/lib
-%dir %{_libdir}/cernlib/%{version}/bin
-%{_libdir}/cernlib/%{version}/lib/*.so.*
+%dir %{_libdir}/cernlib/%{verdir}
+%dir %{_libdir}/cernlib/%{verdir}/lib
+%dir %{_libdir}/cernlib/%{verdir}/bin
+%{_libdir}/cernlib/%{verdir}/lib/*.so.*
 %{_datadir}/cernlib/
 
 # the utils and devel are separated to have the possibility to install
@@ -1011,65 +1035,65 @@
 # it is not necessary to put the static libs in a subpackage, since the
 # utils package would require it anyway. Moreover cernlib users expect
 # static libs to be present.
-%{_libdir}/cernlib/%{version}/lib/*.a
-%{_libdir}/cernlib/%{version}/lib/*.so
+%{_libdir}/cernlib/%{verdir}/lib/*.a
+%{_libdir}/cernlib/%{verdir}/lib/*.so
 %{_includedir}/cernlib/
 %{_datadir}/aclocal/cernlib.m4
 
 %files utils
 %defattr(-,root,root,-)
-%{_bindir}/cernlib*
-%{_sysconfdir}/profile.d/cernlib-%{version}.sh
-%{_sysconfdir}/profile.d/cernlib-%{version}.csh
+%{_bindir}/cernlib*%{?compiler}
+%{_sysconfdir}/profile.d/cernlib-%{verdir}.sh
+%{_sysconfdir}/profile.d/cernlib-%{verdir}.csh
 %{_mandir}/man1/cernlib*.1*
 
-%files -n paw
+%files -n paw%{?compiler}
 %defattr(-,root,root,-)
 %doc paw.README
-%{_bindir}/paw++
-%{_bindir}/paw
-%{_bindir}/pawX11
-%{_bindir}/pawX11.dynamic
-%{_bindir}/paw++.dynamic
+%{_bindir}/paw++%{?compiler}
+%{_bindir}/paw%{?compiler}
+%{_bindir}/pawX11%{?compiler}
+%{_bindir}/pawX11.dynamic%{?compiler}
+%{_bindir}/paw++.dynamic%{?compiler}
 # paw doesn't depend on the main package, so it must own the dirs
-%dir %{_libdir}/cernlib/%{version}
-%dir %{_libdir}/cernlib/%{version}/bin
-%{_libdir}/cernlib/%{version}/bin/pawX11
+%dir %{_libdir}/cernlib/%{verdir}
+%dir %{_libdir}/cernlib/%{verdir}/bin
+%{_libdir}/cernlib/%{verdir}/bin/pawX11
 %{_datadir}/X11/app-defaults/*Paw++
 %{_datadir}/icons/hicolor/
 %{_mandir}/man1/paw*.1*
 %{_datadir}/applications/*paw*.desktop
 %{_datadir}/pixmaps/paw*.xpm
 
-%files -n geant321
+%files -n geant321%{?compiler}
 %defattr(-,root,root,-)
-%{_bindir}/gxint
+%{_bindir}/gxint%{?compiler}
 %{_datadir}/X11/app-defaults/*Geant++
 %{_mandir}/man1/gxint.1*
 
-%files -n kuipc
+%files -n kuipc%{?compiler}
 %defattr(-,root,root,-)
-%{_bindir}/kuipc
+%{_bindir}/kuipc%{?compiler}
 %{_mandir}/man1/kuipc.1*
 
 %files packlib
 %defattr(-,root,root,-)
 %doc cernlib-2006.dfsg/debian/debhelper/zftp.README.debian
-%{_bindir}/cdbackup
-%{_bindir}/cdserv
-%{_bindir}/fatmen
-%{_bindir}/fatsrv
-%{_bindir}/kuesvr
-%{_bindir}/zserv
-%{_bindir}/cdmake
-%{_bindir}/fatnew
-%{_bindir}/pawserv
-%{_bindir}/cdmove
-%{_bindir}/fatback
-%{_bindir}/fatsend
-%{_bindir}/hepdb
-%{_bindir}/kxterm
-%{_bindir}/zftp
+%{_bindir}/cdbackup%{?compiler}
+%{_bindir}/cdserv%{?compiler}
+%{_bindir}/fatmen%{?compiler}
+%{_bindir}/fatsrv%{?compiler}
+%{_bindir}/kuesvr%{?compiler}
+%{_bindir}/zserv%{?compiler}
+%{_bindir}/cdmake%{?compiler}
+%{_bindir}/fatnew%{?compiler}
+%{_bindir}/pawserv%{?compiler}
+%{_bindir}/cdmove%{?compiler}
+%{_bindir}/fatback%{?compiler}
+%{_bindir}/fatsend%{?compiler}
+%{_bindir}/hepdb%{?compiler}
+%{_bindir}/kxterm%{?compiler}
+%{_bindir}/zftp%{?compiler}
 %{_datadir}/X11/app-defaults/KXterm
 %{_datadir}/pixmaps/kxterm*.xpm
 %{_mandir}/man1/kxterm.1* 
@@ -1078,37 +1102,39 @@
 %{_mandir}/man1/zftp.1*
 %{_mandir}/man8/*.8*
 
-%files -n patchy
+%files -n patchy%{?compiler}
 %defattr(-,root,root,-)
-#%ifnarch ppc
-%{_bindir}/fcasplit
-%{_bindir}/nycheck
-%{_bindir}/nydiff
-%{_bindir}/nyindex
-%{_bindir}/nylist
-%{_bindir}/nymerge
-%{_bindir}/nypatchy
-%{_bindir}/nyshell
-%{_bindir}/nysynopt
-%{_bindir}/nytidy
-%{_bindir}/yexpand
-#%endif
-%{_bindir}/ycompar
-%{_bindir}/yedit
-%{_bindir}/yfrceta
-%{_bindir}/yindex
-%{_bindir}/yindexb
-%{_bindir}/ylist
-%{_bindir}/ylistb
-%{_bindir}/ypatchy
-%{_bindir}/ysearch
-%{_bindir}/yshift
-%{_bindir}/ytobcd
-%{_bindir}/ytobin
-%{_bindir}/ytoceta
+%{_bindir}/fcasplit%{?compiler}
+%{_bindir}/nycheck%{?compiler}
+%{_bindir}/nydiff%{?compiler}
+%{_bindir}/nyindex%{?compiler}
+%{_bindir}/nylist%{?compiler}
+%{_bindir}/nymerge%{?compiler}
+%{_bindir}/nypatchy%{?compiler}
+%{_bindir}/nyshell%{?compiler}
+%{_bindir}/nysynopt%{?compiler}
+%{_bindir}/nytidy%{?compiler}
+%{_bindir}/yexpand%{?compiler}
+%{_bindir}/ycompar%{?compiler}
+%{_bindir}/yedit%{?compiler}
+%{_bindir}/yfrceta%{?compiler}
+%{_bindir}/yindex%{?compiler}
+%{_bindir}/yindexb%{?compiler}
+%{_bindir}/ylist%{?compiler}
+%{_bindir}/ylistb%{?compiler}
+%{_bindir}/ypatchy%{?compiler}
+%{_bindir}/ysearch%{?compiler}
+%{_bindir}/yshift%{?compiler}
+%{_bindir}/ytobcd%{?compiler}
+%{_bindir}/ytobin%{?compiler}
+%{_bindir}/ytoceta%{?compiler}
 
 
 %changelog
+* Mon Apr 23 2007 Patrice Dumas <pertusus at free.fr> 2006-6
+- package compiled with g77 is parallel installable with gfortran 
+  compiled package
+
 * Sun Apr 22 2007 Patrice Dumas <pertusus at free.fr> 2006-5.4
 - packlib/ffread, packlib/hbook, packlib/kuip, packlib/zbook, packlib/zebra 
   tests fail on x86_64, exclude the tests on this arch




More information about the scm-commits mailing list