ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/fwlite.spec
(Generate patch)

Comparing COMP/CMSDIST/fwlite.spec (file contents):
Revision 1.9 by ratnik, Tue Oct 23 21:49:52 2007 UTC vs.
Revision 1.73 by zafar, Fri Jul 8 10:40:30 2011 UTC

# Line 1 | Line 1
1 < ### RPM cms fwlite CMSSW_1_7_0_pre6_FWLITE
2 < ## IMPORT configurations
3 < Provides: /bin/zsh
4 < Requires: fwlite-tool-conf glimpse
5 < Requires: SCRAMV1
6 < %define cmssw_release   %(perl -e '$_="%v"; s/_FWLITE//; print;')
7 < %define ucprojname  CMSSW
8 < %define lcprojname  cmssw
1 > ### RPM cms fwlite CMSSW_4_4_0_pre4_FWLITE
2  
3 < %define prebuildtarget  gindices
4 < %define buildtarget     release-build
3 > Requires: fwlite-tool-conf python
4 >
5 > %define useCmsTC        yes
6   %define saveDeps        yes
13 %define cvsproj         %cvsprojuc
14 %define srctree         src
7  
8 < #%define scram_xml   .xml
9 < %define scram_xml   %{nil}
10 < %define scramcmd    scramv1
11 <
12 < # NR: allow to change tarball names, otherwise old distributions
13 < # are fetched from the apt SOURCE repository.
14 <
15 < %if "%{?configtar:set}" != "set"
16 < %define configtar       config.tar.gz
17 < %endif
18 <
27 < %define cmsswsrc http://cmsrep.cern.ch/cms/cpt/Software/download/cms/SOURCES/cms/cmssw/%{cmssw_release}
28 < # For partial releases re-using CMSSW sources:
29 < %if "%{?cmsswsrc:set}" == "set"
30 < Source0: %{cmsswsrc}/config.tar.gz
31 < Source1: %{cmsswsrc}/src.tar.gz
32 < %endif
33 <
34 < # List of packages to bootstrap for partial builds:
35 < Source2: fwlite_build_set
36 < Source3: cmssw-tool
37 < Source4: findDependencies.pl
38 <
39 < # Switch off building tests:
40 < %define patchsrc perl -p -i -e ' s!(<ClassPath.*test\\+test>)!#$1!;' config/BuildFile
41 <
42 < %prep
43 < rm -rf config
44 < rm -rf %{srctree}
45 < # Create a SCRAM project area, but using the already extracted
46 < # sources.  In other words, pick up the files from the project config
47 < # area, but munge all instances of <base url="cvs:*"> into a local
48 < # reference so SCRAM won't try to download stuff from the network.
49 <
50 < %setup -T -b 0 -n config
51 < %setup -D -T -b 1 -n %{srctree}
52 < #%setup -D -T -a 2 -n %{srctree}
53 <
54 < touch %_builddir/config/%{ucprojname}_ignore.file
55 < for file in `ls %_builddir/config/%{ucprojname}_*.file | grep -v  '/%{ucprojname}_ignore.file$' | sed 's|.*/%{ucprojname}_||;s|.file$||'`; do
56 <  sed 's|@PROJECT_NAME@|%ucprojname|g;s|@PROJECT_VERSION@|%v|g;s|@PROJECT_BUILD_PATH@|%_builddir|g' %_builddir/config/%{ucprojname}_${file}.file > %_builddir/config/${file}
57 < done
58 < if [ ${FWLITE_TOOL_CONF_ROOT}/configurations/requirements%scram_xml ] ; then
59 <  cp ${FWLITE_TOOL_CONF_ROOT}/configurations/requirements%scram_xml %_builddir/config/
60 < fi
61 < rm -f %_builddir/config/%{ucprojname}_ignore.file
62 < rm -rf %_builddir/config/site
63 < cp -rf ${FWLITE_TOOL_CONF_ROOT}/configurations/SCRAMToolBox/CMSconfigs %_builddir/config/site
64 < echo $SCRAMV1_VERSION > %_builddir/config/scram_version
65 <
66 < pwd
67 < cd %_builddir
68 < %{?patchsrc:%patchsrc}
69 <
70 < echo $PERL5LIB
71 < echo rm -rf %i
72 < mkdir -p $(dirname %i)
73 <
74 < %{?buildarch:%buildarch}
75 < export SCRAM_TOOLBOXVERSION=%cmssw_release
76 <
77 < mv config/bootsrc config/bootsrc_orig
78 <
79 < perl -p -e 'if (s/(<download.*)(file:src)(.*)(name="src)(">)/#$1$2$3$4$5/){open $fh, "%_sourcedir/fwlite_build_set" or die; while(readline $fh){chomp;print "$1$2/$_$3$4/$_$5\n"}}' config/bootsrc_orig > config/bootsrc
80 <
81 < %scramcmd project -d $(dirname %i) -b config/bootsrc -f %_builddir/config/site/tools-`cat %_builddir/config/site/sitename`.conf
82 < perl -p -i -e "s|STANDALONE|%v|" %i/.SCRAM/Environment* %i/.SCRAM/%cmsplatf/ToolCache.db
83 < cd %i
84 < %scramcmd setup
85 <
86 < %build
87 < pwd
88 < # Remove cmt stuff that brings unwanted dependencies:
89 < rm -rf `find %{i}/src -type d -name cmt`
90 < echo `%scramcmd arch`
91 < cd %i
92 < cd src
93 <
94 < %{?buildarch:%buildarch}
95 <
96 < export BUILD_LOG=yes
97 < export SCRAM_NOPLUGINREFRESH=yes
98 < # export SCRAM_NOSYMCHECK=true
99 <
100 < if [ $(uname) = Darwin ]; then
101 <  # %scramcmd doesn't know the rpath variable on darwin...
102 <  %scramcmd b echo_null # ensure lib, bin exist
103 <  eval `%scramcmd runtime -sh`
104 <  export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH
105 < fi
106 <
107 < export SCRAM_NOLOADCHECK=true
108 < export SCRAM_NOSYMCHECK=true
109 <
110 < %if "%{?preBuildCommand:set}" == "set"
111 < echo "executing %preBuildCommand"
112 < %preBuildCommand
113 < %endif
114 <
115 < %if "%{?buildtarget:set}" != "set"
116 < %define buildtarget %{nil}
117 < %endif
118 <
119 < %scramcmd b -r echo_CXX </dev/null
120 < %if "%{?prebuildtarget:set}" == "set"
121 < %scramcmd b --verbose -f %{prebuildtarget} </dev/null
122 < %endif
123 < %scramcmd b --verbose -f %{compileOptions} %{makeprocesses}  %{buildtarget} </dev/null
124 < %if "%{?additionalBuildTarget0:set}" == "set"
125 < %scramcmd b --verbose -f %{additionalBuildTarget0} < /dev/null
126 < %endif
127 < %if "%{?postbuildtarget:set}" == "set"
128 < %scramcmd b --verbose -f %{postbuildtarget} </dev/null
129 < %endif
130 <
131 < # strip out dependencies first...
132 < %if "%{?saveDeps:set}" == "set"
133 < mkdir -p %i/etc/dependencies
134 < chmod +x %{_sourcedir}/findDependencies.pl
135 < %{_sourcedir}/findDependencies.pl -rel %i
136 < gzip %i/etc/dependencies/uses.out
137 < gzip %i/etc/dependencies/usedby.out
138 < %endif
139 <
140 <
141 < rm -rf %i/tmp
142 < chmod -R 755 %i %i/.SCRAM
143 < (eval `%scramcmd run -sh` ; SealPluginRefresh) || true
144 < rm -fR %i/lib/%cmsplatf/.edmplugincache
145 < (eval `%scramcmd run -sh` ; EdmPluginRefresh) || true
146 <
147 < %install
148 < cd %i
149 < %{?buildarch:%buildarch}
150 < perl -p -i -e "s|^#!.*perl(.*)|#!/usr/bin/env perl$1|" $(grep -r -e "^#!.*perl.*" . | cut -d: -f1)
151 < # need writeable directory for profile stuff
152 < mkdir -p etc/scram.d
153 < sed 's|@PROJECT_NAME@|%ucprojname|g;s|@PROJECT_VERSION@|%v|g;s|@PROJECT_BUILD_PATH@|%_builddir|g;s|@PROJECT_ROOT@|%i|g' %_sourcedir/%lcprojname-tool > etc/scram.d/%lcprojname
154 < yes | %scramcmd install # FIXME: do by hand?
155 <
156 < %post
157 < cd $RPM_INSTALL_PREFIX/%pkgrel
158 < %{relocateConfig}etc/scram.d/%lcprojname
159 < perl -p -i -e "s|%{instroot}|$RPM_INSTALL_PREFIX|g" $(find config -type f) $(find .SCRAM -type f)
160 < scramver=`cat config/scram_version`
161 < source $RPM_INSTALL_PREFIX/%cmsplatf/lcg/SCRAMV1/$scramver/etc/profile.d/init.sh
162 < %{?buildarch:%buildarch}
163 < yes | %scramcmd install
164 < (rm -rf external/%cmsplatf; ./config/linkexternal.pl --arch %cmsplatf --nolink INCLUDE) || true
165 < eval `%scramcmd run -sh`
166 < for cmd in SealPluginRefresh EdmPluginRefresh IgPluginRefresh ; do
167 <  cmdpath=`which $cmd 2> /dev/null`
168 <  if [ "X$cmdpath" != X ] ; then
169 <    $cmd || true
170 <  fi
171 < done
8 > # Switch off building tests
9 > %define patchsrc perl -p -i -e ' s|(<classpath.*test\\+test.*>)||;' config/BuildFile.xml*
10 >
11 > # Includes parts of the framework that we don't want in fwlite
12 > %define patchsrc2 rm -rf src/DataFormats/GeometrySurface/plugins
13 >
14 > # depends on MessageService, which pulls in service dependencies
15 > %define patchsrc3 rm -f src/FWCore/MessageLogger/python/MessageLogger_cfi.py
16 >
17 > ## IMPORT cmssw-partial-build
18 > ## IMPORT scram-project-build

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines