ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/CMSDIST/xdaq.spec
Revision: 1.55
Committed: Sat Jan 12 09:36:41 2008 UTC (17 years, 3 months ago) by elmer
Branch: MAIN
CVS Tags: SiteDB_SM_Nightly_150208
Changes since 1.54: +1 -1 lines
Log Message:
Allow compilation errors for MacOSX platforms, too.

File Contents

# User Rev Content
1 elmer 1.54 ### RPM external xdaq 03.11.00-CMS19
2 elmer 1.39 Requires: zlib mimetic xerces-c uuid
3 dlange 1.33 %define xdaqv %(echo %v | cut -f1 -d- | tr . _)
4 eulisse 1.2 %define libext so
5 eulisse 1.18 %if "%cmsplatf" == "slc3_ia32_gcc323"
6     %define installDir linux/x86
7     %endif
8    
9 eulisse 1.7 # Download from cern afs area to speed up testing:
10 dlange 1.44 Source0: http://switch.dl.sourceforge.net/sourceforge/xdaq/coretools_G_V%xdaqv.tgz
11     Source1: http://switch.dl.sourceforge.net/sourceforge/xdaq/powerpack_G_V01_11_00.tgz
12     Source2: http://switch.dl.sourceforge.net/sourceforge/xdaq/worksuite_G_V01_11_00.tgz
13     Patch: xdaq_3.11_p1
14 dlange 1.50 Patch1: xdaq_3.11_p2
15 ratnik 1.5
16 eulisse 1.7 %prep
17     %setup -T -b 0 -n TriDAS
18     %setup -D -T -b 1 -n TriDAS
19     %setup -D -T -b 2 -n TriDAS
20 dlange 1.34
21 dlange 1.45 %patch -p1
22 dlange 1.50 %patch1 -p1
23 eulisse 1.11 ls
24 eulisse 1.7 echo " Install root in prep:" %{i} %{pkginstroot}
25 ratnik 1.1
26     %build
27     # Xdaq does not provide makeinstall, it uses "simplify" script instead to
28     # reorganize the directory structure after the build is done.
29     # Therefore build is done in the install area.
30    
31     %install
32     # Copy all code into the installation area, and build directly there:
33     cp -rp * %{i} # assuming there are no symlinks in the original source code
34     cd %{i}
35     export XDAQ_ROOT=$PWD
36     cd %{i}/daq
37 dlange 1.36 export MIMETIC_PREFIX=$MIMETIC_ROOT
38     export XERCES_PREFIX=$XERCES_C_ROOT
39 elmer 1.39 export UUID_LIB_PREFIX=$UUID_ROOT/lib
40 elmer 1.53
41     case %cmsplatf in
42 elmer 1.55 slc4_ia32_gcc412 | slc4_ia32_gcc422 | osx104_ppc32_gcc400 | osx104_ia32_gcc401)
43 elmer 1.53 make CPPDEFINES=linux Set=extern_coretools install || true
44     make CPPDEFINES=linux Set=coretools install || true
45     make CPPDEFINES=linux Set=extern_powerpack install || true
46     make CPPDEFINES=linux Set=powerpack install || true
47     cd xdaq2rc
48     make CPPDEFINES=linux install || true
49     cd ..
50     ;;
51     * )
52 dlange 1.34 make CPPDEFINES=linux Set=extern_coretools install
53 dlange 1.30 make CPPDEFINES=linux Set=coretools install
54 dlange 1.34 make CPPDEFINES=linux Set=extern_powerpack install
55 dlange 1.30 make CPPDEFINES=linux Set=powerpack install
56 dlange 1.36 cd xdaq2rc
57 dlange 1.38 make CPPDEFINES=linux install
58 dlange 1.36 cd ..
59 elmer 1.53 ;;
60     esac
61 dlange 1.30
62 ratnik 1.1 # The following structure used as defined in Xdaq "simplify" script:
63     cd %{i}
64 dlange 1.32 mv x86*/lib .
65     mv x86*/bin .
66     mv x86*/include .
67 dlange 1.44
68     mkdir htdocs
69 dlange 1.48
70 dlange 1.49 for subdir in `echo "xdaq2rc"; grep -h -v \# build/mfSet.coretools build/mfSet.extern_coretools build/mfSet.extern_powerpack build/mfSet.powerpack | grep -v Packages= | grep '[a-z]' | awk '{print $1}'`
71 dlange 1.46 do
72 dlange 1.48 mkdir -p %{i}/htdocs/$subdir/{images,xml,html}
73     echo $subdir
74     if [ -d daq/$subdir/xml ]; then
75     cd daq/$subdir/xml
76     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/xml/{} \;
77     cd %{i}
78     fi
79     if [ -d daq/$subdir/images ]; then
80     cd daq/$subdir/images
81     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/images/{} \;
82     cd %{i}
83     fi
84     if [ -d daq/$subdir/html ]; then
85     cd daq/$subdir/html
86     find . -name "*.*" -exec install -m 655 -D {} %{i}/htdocs/$subdir/html/{} \;
87     cd %{i}
88     fi
89 dlange 1.46 done
90 dlange 1.44
91 dlange 1.37 mkdir include/interface
92 dlange 1.36 mv daq/interface/evb/include/interface/evb include/interface
93     mv daq/interface/shared/include/interface/shared include/interface
94 elmer 1.42 mkdir etc
95     mv daq/etc/default.profile etc/
96 dlange 1.32 rm -fr daq
97     rm -fr CVS
98 dlange 1.37 rm -fr x86*
99 ratnik 1.1
100     # Libraries from extern (not found cause they are symlinks)
101 eulisse 1.3
102 eulisse 1.22 #find daq -type f ! -path "*/extern/*lib*" -name "*.a" -exec cp {} %{i}/lib \;
103 eulisse 1.11 perl -p -i -e "s|^#!.*make|#!/usr/bin/env make|" %{i}/daq/extern/slp/openslp-1.2.0/debian/rules
104 muzaffar 1.43
105     # SCRAM ToolBox toolfile
106     mkdir -p %i/etc/scram.d
107     cat << \EOF_TOOLFILE >%i/etc/scram.d/%n
108     <doc type=BuildSystem::ToolDoc version=1.0>
109     <Tool name=XDAQ version=%v>
110     <info url=http://home.cern.ch/xdaq></info>
111     <lib name=toolbox>
112     <lib name=xdaq>
113     <lib name=config>
114     <lib name=xoap>
115     <lib name=xgi>
116     <lib name=xdata>
117     <lib name=cgicc>
118     <lib name=log4cplus>
119     <lib name=xcept>
120     <lib name=logudpappender>
121     <lib name=peer>
122     <lib name=logxmlappender>
123     <lib name=asyncresolv>
124     <lib name=ptfifo>
125     <lib name=pthttp>
126     <lib name=pttcp>
127     <lib name=i2outils>
128     <lib name=xdaq2rc>
129     <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 eulisse 1.12 %post
151     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
152 muzaffar 1.43 %{relocateConfig}etc/scram.d/%n