ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/xdaq.spec
Revision: 1.68
Committed: Tue Dec 8 17:40:18 2009 UTC (15 years, 4 months ago) by lsexton
Branch: MAIN
CVS Tags: dsr20100209fwlite342, CMSSW_3_4_2_patch1, for342patch1, CMSSW_3_4_2, eskFor342, DQMGUI_5_1_7, for341op1-onl-slc5, CMSSW_3_4_1_ONLINE, sm100126, dsr20100107fwlite341, sm100107a, sm100106a, sm100105c, sm100105b, pe20100105a-for34X-for35X, ge20100105-pyqt-relocatable-build, sm100105a, CMSSW_3_5_0_pre2, CMSSW_3_4_1, apFor350pre2v2, apFor350pre2v1, apFor350pre2v0, eskFor341, pe20091216b-for34X-for35X, pe20091216a-for34X-for35X, CMSSW_3_4_0, ge20091214b-new-bootstrap, ge20091214a-new-bootstrap, ge20091214-new-bootstrap, ge20091214-fix-rh5x, CMSSW_3_5_0_pre1, apFor350pre1v0, eskFor340, pe20091209b-for34X-for35X, pe20091209a-for34X-for35X
Changes since 1.67: +5 -2 lines
Log Message:
Fix compilation and linking flags for shared libraries by adding the -fPIC flag

File Contents

# User Rev Content
1 muzaffar 1.66 ### RPM external xdaq VR15544
2 andreasp 1.60 ## BUILDIF case $(uname):$(uname -p) in Linux:i*86 ) true ;; Linux:x86_64 ) true ;; Linux:ppc64 ) false ;; Darwin:* ) false ;; * ) false ;; esac
3    
4 muzaffar 1.62 Requires: zlib mimetic xerces-c uuid sqlite
5 dlange 1.33 %define xdaqv %(echo %v | cut -f1 -d- | tr . _)
6 eulisse 1.2 %define libext so
7 eulisse 1.18
8 muzaffar 1.66 Source: svn://svn.cern.ch/reps/cmsos/releases/baseline9/trunk/?scheme=svn+ssh&revision=15544&strategy=export&module=xdaq&output=/xdaq.tar.gz
9 muzaffar 1.62
10 lsexton 1.68 Patch0: xdaq_build
11     Patch1: xdaq_mfDefs_flags
12    
13 dlange 1.56 Provides: /bin/awk
14 ratnik 1.5
15 eulisse 1.7 %prep
16 muzaffar 1.62 %setup -T -b 0 -n xdaq
17 dlange 1.34
18 lsexton 1.68 %patch0 -p1
19     %patch1 -p4
20 eulisse 1.11 ls
21 eulisse 1.7 echo " Install root in prep:" %{i} %{pkginstroot}
22 ratnik 1.1
23     %build
24     # Xdaq does not provide makeinstall, it uses "simplify" script instead to
25     # reorganize the directory structure after the build is done.
26     # Therefore build is done in the install area.
27    
28     %install
29     # Copy all code into the installation area, and build directly there:
30     cp -rp * %{i} # assuming there are no symlinks in the original source code
31     cd %{i}
32     export XDAQ_ROOT=$PWD
33     cd %{i}/daq
34 muzaffar 1.66
35 dlange 1.36 export MIMETIC_PREFIX=$MIMETIC_ROOT
36     export XERCES_PREFIX=$XERCES_C_ROOT
37 elmer 1.39 export UUID_LIB_PREFIX=$UUID_ROOT/lib
38 muzaffar 1.62 export SQLITE_PREFIX=$SQLITE_ROOT
39     export SEARCH_PATH=$PATH
40 elmer 1.53
41 muzaffar 1.63 make CPPDEFINES=linux Set=extern_coretools install
42     make CPPDEFINES=linux Set=coretools install
43     make CPPDEFINES=linux Set=extern_powerpack install
44     make CPPDEFINES=linux Set=powerpack install
45 elmer 1.53 cd xdaq2rc
46 muzaffar 1.63 make CPPDEFINES=linux install
47 dlange 1.30
48 ratnik 1.1 # The following structure used as defined in Xdaq "simplify" script:
49     cd %{i}
50 dlange 1.32 mv x86*/lib .
51     mv x86*/bin .
52     mv x86*/include .
53 elmer 1.61 # Make the following directory (it will be missing in the gcc4 case where
54     # things fail during the build and scram at least needs to see it)
55     mkdir -p include/linux
56 dlange 1.44
57 dlange 1.56 mkdir -p htdocs
58 dlange 1.48
59 muzaffar 1.62 for subdir in `echo "xdaq2rc"; grep -h -v \# config/mfSet.coretools config/mfSet.extern_coretools config/mfSet.extern_powerpack config/mfSet.powerpack | grep -v Packages= | grep '[a-z]' | awk '{print $1}'`
60 dlange 1.46 do
61 dlange 1.48 mkdir -p %{i}/htdocs/$subdir/{images,xml,html}
62     echo $subdir
63     if [ -d daq/$subdir/xml ]; then
64     cd daq/$subdir/xml
65     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/xml/{} \;
66     cd %{i}
67     fi
68     if [ -d daq/$subdir/images ]; then
69     cd daq/$subdir/images
70     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/images/{} \;
71     cd %{i}
72     fi
73     if [ -d daq/$subdir/html ]; then
74     cd daq/$subdir/html
75     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/html/{} \;
76     cd %{i}
77     fi
78 dlange 1.46 done
79 dlange 1.44
80 dlange 1.56 mkdir -p include/interface
81 dlange 1.36 mv daq/interface/evb/include/interface/evb include/interface
82     mv daq/interface/shared/include/interface/shared include/interface
83 dlange 1.56 mkdir -p etc
84 muzaffar 1.62 mv daq/xdaq/etc/default.profile etc/
85 dlange 1.32 rm -fr daq
86     rm -fr CVS
87 dlange 1.37 rm -fr x86*
88 elmer 1.67 rm -fR java
89     rm -fR htdocs
90 muzaffar 1.66 ln -s libasyncresolv %{i}/lib/libasyncresolv.so
91     rm -f %{i}/lib/lib*.a %{i}/lib/lib*.la
92 ratnik 1.1
93     # Libraries from extern (not found cause they are symlinks)
94 eulisse 1.3
95 eulisse 1.22 #find daq -type f ! -path "*/extern/*lib*" -name "*.a" -exec cp {} %{i}/lib \;
96 eulisse 1.11 perl -p -i -e "s|^#!.*make|#!/usr/bin/env make|" %{i}/daq/extern/slp/openslp-1.2.0/debian/rules
97 muzaffar 1.43
98     # SCRAM ToolBox toolfile
99     mkdir -p %i/etc/scram.d
100     cat << \EOF_TOOLFILE >%i/etc/scram.d/%n
101     <doc type=BuildSystem::ToolDoc version=1.0>
102     <Tool name=XDAQ version=%v>
103     <info url=http://home.cern.ch/xdaq></info>
104     <lib name=toolbox>
105     <lib name=xdaq>
106     <lib name=config>
107     <lib name=xoap>
108     <lib name=xgi>
109     <lib name=xdata>
110     <lib name=cgicc>
111     <lib name=log4cplus>
112     <lib name=xcept>
113     <lib name=logudpappender>
114     <lib name=peer>
115     <lib name=logxmlappender>
116     <lib name=asyncresolv>
117     <lib name=ptfifo>
118     <lib name=pthttp>
119     <lib name=pttcp>
120     <lib name=i2outils>
121     <lib name=xdaq2rc>
122 dlange 1.56 <lib name=xoapfilter>
123     <lib name=xalan-c>
124     <lib name=xalanMsg>
125     <lib name=wsaddressing>
126     <lib name=wsclientsubscriber>
127     <lib name=wseventing>
128     <lib name=wsserviceeventing>
129 muzaffar 1.43 <Client>
130     <Environment name=XDAQ_BASE default="%i"></Environment>
131     <Environment name=LIBDIR default="$XDAQ_BASE/lib"></Environment>
132     <Environment name=BINDIR default="$XDAQ_BASE/bin"></Environment>
133     <Environment name=INCLUDE default="$XDAQ_BASE/include"></Environment>
134     <Environment name=INCLUDE default="$XDAQ_BASE/include/linux"></Environment>
135     </Client>
136     <use name=xerces-c>
137     <use name=sockets>
138     <use name=mimetic>
139     <use name=uuid>
140     <runtime name=XDAQ_OS value="linux">
141     <runtime name=XDAQ_PLATFORM value="x86">
142     <runtime name=PATH value="$BINDIR" type=path>
143     <runtime name=XDAQ_ROOT value="$XDAQ_BASE">
144 dlange 1.44 <runtime name=XDAQ_DOCUMENT_ROOT value="$XDAQ_BASE/htdocs">
145 muzaffar 1.43 <flags CPPDEFINES="SOAP__ LITTLE_ENDIAN__">
146     <flags CPPDEFINES="linux">
147     </Tool>
148     EOF_TOOLFILE
149    
150 elmer 1.58 cat << \EOF_TOOLFILE >%i/etc/scram.d/xdaqheader
151     <doc type=BuildSystem::ToolDoc version=1.0>
152     <Tool name=XDAQHEADER version=%v>
153     <info url=http://home.cern.ch/xdaq></info>
154     <Client>
155     <Environment name=XDAQHEADER_BASE default="%i"></Environment>
156     <Environment name=INCLUDE default="$XDAQHEADER_BASE/include"></Environment>
157     </Client>
158     </Tool>
159     EOF_TOOLFILE
160    
161 eulisse 1.12 %post
162     find $RPM_INSTALL_PREFIX/%pkgrel -type l | xargs ls -la | sed -e "s|.*[ ]\(/.*\) -> \(.*\)| \2 \1|;s|[ ]/[^ ]*/external| $RPM_INSTALL_PREFIX/%cmsplatf/external|g" | xargs -n2 ln -sf
163 muzaffar 1.43 %{relocateConfig}etc/scram.d/%n
164 elmer 1.58 %{relocateConfig}etc/scram.d/xdaqheader
165