ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/roofit.spec
Revision: 1.26
Committed: Tue Jul 26 16:45:53 2011 UTC (13 years, 9 months ago) by zafar
Branch: MAIN
CVS Tags: CMSSW_4_4_5_patch2, CMSSW_4_4_5_patch1, CMSSW_4_4_5, sm120813-44X, CMSSW_4_4_4-ports, CMSSW_4_4_4, sm20120309, sm20120309-ports, sm20120228-44X-ports, sm20120228-44X, sm120220-ports, sm120220, CMSSW_4_4_3_patch1-ports, CMSSW_4_4_3_patch1, vs20120215-44X, vs20120215-44X-ports, da20120205-44X-ports, da20120205-44X, CMSSW_4_4_3-ports, CMSSW_4_4_3, sm120124-ports, da20120123-44X-ports, da20120123-44X, CMSSW_4_4_2_p10JEmalloc, CMSSW_4_4_2_patch10-ports, CMSSW_4_4_2_patch10, azFor442patch10gcc451, azFor442patch10, CMSSW_4_4_2_patch9-ports, CMSSW_4_4_2_patch9, vsFor442patch9gcc451, vsFor442patch9, CMSSW_4_4_2_patch8-ports, CMSSW_4_4_2_patch8, vs20111130-44X-ports, vs20111130-44X, CMSSW_4_4_2_patch7-ports, CMSSW_4_4_2_patch7, azFor442patch7gcc451, azFor442patch7gcc434, CMSSW_4_4_2_patch6-ports, CMSSW_4_4_2_patch6, azFor442patch6gcc451, azFor442patch6gcc434, CMSSW_4_4_2_onlpatch2_ONLINE, CMSSW_4_4_2_patch5-ports, CMSSW_4_4_2_patch5, azFor442patch5gcc451, azFor442patch5gcc434, CMSSW_4_4_2_patch4-ports, CMSSW_4_4_2_patch4, azFor442patch4gcc451, azFor442patch4gcc434, az20111109b-44X, az20111109b-44X-ports, az20111109-44X-ports, az20111109-44X, CMSSW_4_4_2_patch3-ports, CMSSW_4_4_2_patch3, azFor442patch3gcc451, azFor442patch3gcc434, CMSSW_4_4_2_patch2-ports, CMSSW_4_4_2_patch2, CMSSW_4_4_2_patch1-ports, CMSSW_4_4_2_patch1, azFor442patch1gcc451, azFor442patch1gcc434, CMSSW_4_4_2_onlpatch1_ONLINE, CMSSW_4_4_2_ONLINE, CMSSW_4_4_2-ports, CMSSW_4_4_2, azFor442gcc451, azFor442gcc434, CMSSW_4_4_0_patch4-ports, CMSSW_4_4_0_patch4, azFor440patch4gcc451, azFor440patch4gcc434, CMSSW_4_4_1_ONLINE, CMSSW_4_4_1-ports, CMSSW_4_4_1, azFor441gcc451, azFor441gcc434, CMSSW_4_4_0_patch3-ports, CMSSW_4_4_0_patch3, azFor440patch3gcc451, azFor440patch3gcc434, CMSSW_4_4_0_patch2-ports, CMSSW_4_4_0_patch2, azFor440patch2gcc451, azFor440patch2gcc434, CMSSW_4_4_0_patch1-ports, CMSSW_4_4_0_patch1, azFor440patch1gcc451a, azFor440patch1gcc434a, azFor440patch1gcc451, azFor440patch1gcc434, CMSSW_4_4_0-ports, CMSSW_4_4_0, azFor440gcc451, azFor440gcc434, az20110921-44X-ports, az20110921-44X, CMSSW_4_4_0_pre10_ONLINE, fwFor440pre10online, CMSSW_4_4_0_pre10-ports, CMSSW_4_4_0_pre10, azFor440pre10gcc451, azFor440pre10gcc434, az20110906-44X-ports, az20110906-44X, CMSSW_4_4_0_pre9, CMSSW_4_4_0_pre9-ports, azFor440pre9gcc451, azFor440pre9gcc434, az20110821-44X-ports, az20110821-44X, CMSSW_4_4_0_pre8-ports, CMSSW_4_4_0_pre8, azFor440pre8gcc451, azFor440pre8gcc434, az20110809a-44X-ports, az20110809a-44X, az20110809-44X-ports, az20110809-44X, CMSSW_4_4_0_pre7_g494p02-ports, CMSSW_4_4_0_pre7_g494p02, azFor440p7g494p02-g451, azFor440p7g494p02, az20110804-44X-ports, az20110804-44X, CMSSW_4_4_0_pre7-ports, CMSSW_4_4_0_pre7, azFor440pre7gcc451, azFor440pre7gcc434, az20110801-44X, az20110801-44X-ports, CMSSW_4_4_0_pre6-ports, CMSSW_4_4_0_pre6, azFor440pre6gcc451, azFor440pre6gcc434, az20110729-44X-ports, az20110729-44X, DBS_2_1_6-pre1, az20110726a-44X-ports, az20110726a-44X
Changes since 1.25: +4 -6 lines
Log Message:
to be able to pick the correct roofit version while downgrading 44X's root

File Contents

# User Rev Content
1 zafar 1.26 ### RPM lcg roofit 5.28.00a
2 elmer 1.1 %define svnTag %(echo %realversion | tr '.' '-')
3 elmer 1.14 Source0: svn://root.cern.ch/svn/root/tags/v%svnTag/roofit?scheme=http&module=roofit&output=/roofit.tgz
4     Source1: svn://root.cern.ch/svn/root/tags/v%svnTag/tutorials/?scheme=http&module=tutorials&output=/rootutorials.tgz
5 elmer 1.18 Source2: roofit-5.28.00-build.sh
6 elmer 1.1
7 zafar 1.26 Patch: root-5.22-00a-roofit-silence-static-printout
8 elmer 1.18 Patch1: roofit-5.24-00-RooFactoryWSTool-include
9 elmer 1.1
10     Requires: root
11    
12     %prep
13 elmer 1.14 %setup -b0 -n roofit
14 elmer 1.18 %patch -p2
15     %patch1 -p1
16 elmer 1.14 %setup -D -T -b 1 -n tutorials
17 elmer 1.1
18     %build
19 elmer 1.14 #Copy over the tutorials
20     mkdir -p %i/tutorials/
21     cd ../tutorials/
22     cp -R roofit %i/tutorials/
23     cp -R roostats %i/tutorials/
24 elmer 1.18 cp -R histfactory %i/tutorials/
25 elmer 1.14
26     cd ../roofit/
27 elmer 1.18 mkdir -p %i/config
28     cp histfactory/config/prepareHistFactory %i/config/
29     cp %_sourcedir/roofit-5.28.00-build.sh build.sh
30 elmer 1.1 chmod +x build.sh
31 elmer 1.6 # Remove an extra -m64 from Wouter's build script (in CXXFLAGS and LDFLAGS)
32 elmer 1.2 perl -p -i -e 's|-m64 ||' build.sh
33 dsr 1.9 case %cmsplatf in
34     osx10[0-9]_* )
35     # Change gawk to awk
36     perl -p -i -e 's|gawk|awk|' build.sh
37     # -soname not on osx
38     perl -p -i -e 's|-Wl,-soname,\S*\.so|-dynamiclib|' build.sh
39     ;;
40     esac
41    
42 elmer 1.1 ./build.sh
43     mv build/lib %i/
44     mkdir %i/include
45     cp -r build/inc/* %i/include
46 elmer 1.19 # Change name of one binary by hand
47     mkdir %i/bin
48     mv build/bin/MakeModelAndMeasurements %i/bin/hist2workspace
49 eulisse 1.20 # On macosx we cannot simply rename libraries and executables.
50     case %cmsos in
51     osx*)
52     install_name_tool -change MakeModelAndMeasurements hist2workspace -id hist2workspace %i/bin/hist2workspace
53     find %i/lib -name "*.so" -exec install_name_tool -change build/lib/libRooStats.so libRooStats.so {} \;
54     find %i/lib -name "*.so" -exec install_name_tool -change build/lib/libRooFitCore.so libRooFitCore.so {} \;
55     find %i/lib -name "*.so" -exec install_name_tool -change build/lib/libRooFit.so libRooFit.so {} \;
56 elmer 1.21 find %i/lib -name "*.so" -exec install_name_tool -change build/lib/libHistFactory.so libHistFactory.so {} \;
57 eulisse 1.20 find %i/bin -type f -exec install_name_tool -change build/lib/libRooStats.so libRooStats.so {} \;
58     find %i/bin -type f -exec install_name_tool -change build/lib/libRooFitCore.so libRooFitCore.so {} \;
59     find %i/bin -type f -exec install_name_tool -change build/lib/libRooFit.so libRooFit.so {} \;
60 elmer 1.21 find %i/bin -type f -exec install_name_tool -change build/lib/libHistFactory.so libHistFactory.so {} \;
61 eulisse 1.20 ;;
62     esac
63 elmer 1.12
64 elmer 1.14 %install
65    
66 elmer 1.12 # SCRAM ToolBox toolfile
67     mkdir -p %i/etc/scram.d
68    
69     # rootroofitcore toolfile
70     cat << \EOF_TOOLFILE >%i/etc/scram.d/roofitcore.xml
71     <tool name="roofitcore" version="%v">
72     <info url="http://root.cern.ch/root/"/>
73     <lib name="RooFitCore"/>
74     <client>
75     <environment name="ROOFIT_BASE" default="%i"/>
76     <environment name="LIBDIR" default="$ROOFIT_BASE/lib"/>
77     <environment name="INCLUDE" default="$ROOFIT_BASE/include"/>
78     </client>
79     <use name="rootcore"/>
80     <use name="roothistmatrix"/>
81     <use name="rootgpad"/>
82     <use name="rootminuit"/>
83     </tool>
84     EOF_TOOLFILE
85    
86     # rootroofit toolfile
87     cat << \EOF_TOOLFILE >%i/etc/scram.d/roofit.xml
88     <tool name="roofit" version="%v">
89     <info url="http://root.cern.ch/root/"/>
90     <lib name="RooFit"/>
91     <use name="roofitcore"/>
92     </tool>
93     EOF_TOOLFILE
94    
95     # rootroostats toolfile
96     cat << \EOF_TOOLFILE >%i/etc/scram.d/roostats.xml
97     <tool name="roostats" version="%v">
98     <info url="http://root.cern.ch/root/"/>
99     <lib name="RooStats"/>
100     <use name="roofit"/>
101     </tool>
102     EOF_TOOLFILE
103    
104     %post
105     perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find $RPM_INSTALL_PREFIX/%pkgrel/etc/scram.d -type f)
106 zafar 1.26
107