1 |
ratnik |
1.6 |
### RPM external xdaq 3.5.2
|
2 |
|
|
# Get xdaq 3.5.2 from DAQKit-03-09-01, according to version information at
|
3 |
|
|
# http://cmsdoc.cern.ch/cms/TRIDAS/DAQKit/version-03-09/doc/html/componentList.html
|
4 |
|
|
|
5 |
eulisse |
1.2 |
%define libext so
|
6 |
ratnik |
1.5 |
%define to_be_removed_externals cppunit gmp mimetic xerces tinyproxy
|
7 |
|
|
|
8 |
|
|
Requires: xerces-c
|
9 |
|
|
Requires: mimetic
|
10 |
|
|
|
11 |
ratnik |
1.1 |
# Download from cern afs area to speed up testing:
|
12 |
ratnik |
1.6 |
Source: http://cmsdoc.cern.ch/cms/TRIDAS/DAQKit/version-03-09/software/tars/DAQKit-03-09-01.tgz
|
13 |
ratnik |
1.1 |
%prep
|
14 |
ratnik |
1.5 |
%setup -n TriDAS
|
15 |
ratnik |
1.1 |
|
16 |
|
|
%build
|
17 |
|
|
# Xdaq does not provide makeinstall, it uses "simplify" script instead to
|
18 |
|
|
# reorganize the directory structure after the build is done.
|
19 |
|
|
# Therefore build is done in the install area.
|
20 |
|
|
|
21 |
|
|
%install
|
22 |
|
|
# Copy all code into the installation area, and build directly there:
|
23 |
|
|
cp -rp * %{i} # assuming there are no symlinks in the original source code
|
24 |
|
|
cd %{i}
|
25 |
|
|
export XDAQ_ROOT=$PWD
|
26 |
|
|
cd %{i}/daq
|
27 |
eulisse |
1.2 |
make Set=extern
|
28 |
ratnik |
1.1 |
make Set=coretools
|
29 |
|
|
# The following structure used as defined in Xdaq "simplify" script:
|
30 |
|
|
cd %{i}
|
31 |
eulisse |
1.2 |
mkdir -p %{i}/lib
|
32 |
|
|
mkdir -p %{i}/bin
|
33 |
ratnik |
1.5 |
|
34 |
|
|
# Remove unneeded and standard externals that can be re-used from CMS distribution:
|
35 |
|
|
|
36 |
|
|
for extern in %{to_be_removed_externals}; do echo removing external from daq: ${extern} ...; rm -rf daq/extern/${extern}; done
|
37 |
|
|
|
38 |
ratnik |
1.1 |
# Catch-all
|
39 |
eulisse |
1.2 |
find . -type f ! -path "./lib/*.%{libext}" -name "*.%{libext}" -exec mv {} %{i}/lib \;
|
40 |
|
|
find . -type f ! -path "./bin/*.exe" -name "*.exe" -exec mv {} %{i}/bin \;
|
41 |
ratnik |
1.1 |
|
42 |
|
|
# Libraries from extern (not found cause they are symlinks)
|
43 |
eulisse |
1.3 |
cp -rdL daq/extern/*/linuxx86/lib/* %{i}/lib
|
44 |
|
|
|
45 |
|
|
find daq -type f ! -path "*/extern/*lib*" -name "*.a" -exec cp {} %{i}/lib \;
|
46 |
eulisse |
1.4 |
perl -p -i -e "s|^#!.*make|/usr/bin/env make|" %{i}/daq/extern/slp/openslp-1.2.0/debian/rules
|