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 |
|
|
|