1 |
< |
### 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 |
< |
|
1 |
> |
### RPM external xdaq 3.9.0-CMS3 |
2 |
> |
Requires: zlib mimetic xerces-c uuid |
3 |
> |
%define xdaqv %(echo %v | cut -f1 -d- | tr . _) |
4 |
|
%define libext so |
5 |
< |
%define to_be_removed_externals cppunit gmp mimetic xerces tinyproxy |
6 |
< |
|
7 |
< |
Requires: xerces-c |
9 |
< |
Requires: mimetic |
5 |
> |
%if "%cmsplatf" == "slc3_ia32_gcc323" |
6 |
> |
%define installDir linux/x86 |
7 |
> |
%endif |
8 |
|
|
9 |
|
# Download from cern afs area to speed up testing: |
10 |
< |
Source: http://cmsdoc.cern.ch/cms/TRIDAS/DAQKit/version-03-09/software/tars/DAQKit-03-09-01.tgz |
10 |
> |
Source0: http://switch.dl.sourceforge.net/sourceforge/xdaq/coretools_G_V%{xdaqv}.tgz |
11 |
> |
Source1: http://switch.dl.sourceforge.net/sourceforge/xdaq/powerpack_G_V1_9_0.tgz |
12 |
> |
Source2: http://switch.dl.sourceforge.net/sourceforge/xdaq/worksuite_G_V1_8_0.tgz |
13 |
> |
Patch: xdaq_39_oracle |
14 |
> |
Patch1: xdaq-3.9.0-uuid |
15 |
> |
Patch2: xdaq-3.9.0-nossh |
16 |
> |
|
17 |
|
%prep |
18 |
< |
%setup -n TriDAS |
18 |
> |
%setup -T -b 0 -n TriDAS |
19 |
> |
%setup -D -T -b 1 -n TriDAS |
20 |
> |
%setup -D -T -b 2 -n TriDAS |
21 |
> |
|
22 |
> |
#%patch0 -p2 |
23 |
> |
%patch1 -p1 |
24 |
> |
%patch2 -p1 |
25 |
> |
ls |
26 |
> |
#perl -p -i -e "s|^#.*ksh(.*)|#!/usr/bin/env ksh $1|" daq/extern/SBSVME/1003/v2p3p0/sys/makefile \ |
27 |
> |
# daq/extern/SBSVME/1003/v2p3p0/sys/mkbtp |
28 |
> |
echo " Install root in prep:" %{i} %{pkginstroot} |
29 |
|
|
30 |
|
%build |
31 |
|
# Xdaq does not provide makeinstall, it uses "simplify" script instead to |
38 |
|
cd %{i} |
39 |
|
export XDAQ_ROOT=$PWD |
40 |
|
cd %{i}/daq |
41 |
< |
make Set=extern |
42 |
< |
make Set=coretools |
43 |
< |
# The following structure used as defined in Xdaq "simplify" script: |
44 |
< |
cd %{i} |
45 |
< |
mkdir -p %{i}/lib |
46 |
< |
mkdir -p %{i}/bin |
47 |
< |
|
48 |
< |
# Remove unneeded and standard externals that can be re-used from CMS distribution: |
41 |
> |
export MIMETIC_PREFIX=$MIMETIC_ROOT |
42 |
> |
export XERCES_PREFIX=$XERCES_C_ROOT |
43 |
> |
export UUID_LIB_PREFIX=$UUID_ROOT/lib |
44 |
> |
|
45 |
> |
make CPPDEFINES=linux Set=extern_coretools install |
46 |
> |
make CPPDEFINES=linux Set=coretools install |
47 |
> |
make CPPDEFINES=linux Set=extern_powerpack install |
48 |
> |
make CPPDEFINES=linux Set=powerpack install |
49 |
> |
cd xdaq2rc |
50 |
> |
make CPPDEFINES=linux install |
51 |
> |
cd .. |
52 |
|
|
36 |
– |
for extern in %{to_be_removed_externals}; do echo removing external from daq: ${extern} ...; rm -rf daq/extern/${extern}; done |
53 |
|
|
54 |
< |
# Catch-all |
55 |
< |
find . -type f ! -path "./lib/*.%{libext}" -name "*.%{libext}" -exec mv {} %{i}/lib \; |
56 |
< |
find . -type f ! -path "./bin/*.exe" -name "*.exe" -exec mv {} %{i}/bin \; |
54 |
> |
# The following structure used as defined in Xdaq "simplify" script: |
55 |
> |
cd %{i} |
56 |
> |
mv x86*/lib . |
57 |
> |
mv x86*/bin . |
58 |
> |
mv x86*/include . |
59 |
> |
mkdir include/interface |
60 |
> |
mv daq/interface/evb/include/interface/evb include/interface |
61 |
> |
mv daq/interface/shared/include/interface/shared include/interface |
62 |
> |
|
63 |
> |
rm -fr daq |
64 |
> |
rm -fr CVS |
65 |
> |
rm -fr x86* |
66 |
|
|
67 |
|
# Libraries from extern (not found cause they are symlinks) |
43 |
– |
cp -rdL daq/extern/*/linuxx86/lib/* %{i}/lib |
68 |
|
|
69 |
< |
find daq -type f ! -path "*/extern/*lib*" -name "*.a" -exec cp {} %{i}/lib \; |
70 |
< |
perl -p -i -e "s|^#!.*make|/usr/bin/env make|" %{i}/daq/extern/slp/openslp-1.2.0/debian/rules |
69 |
> |
#find daq -type f ! -path "*/extern/*lib*" -name "*.a" -exec cp {} %{i}/lib \; |
70 |
> |
perl -p -i -e "s|^#!.*make|#!/usr/bin/env make|" %{i}/daq/extern/slp/openslp-1.2.0/debian/rules |
71 |
> |
%post |
72 |
> |
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 |