cta.spec.in 5.22 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Generic macros
#---------------
%define name cta
%define ctaVersion @CTA_VERSION@
%define ctaRelease @CTA_RELEASE@

# Neutral packaging (for srpm)
#-----------------------------
%if 0%{?neutralpackage:1} > 0
%define mydist %{nil}
%else
%define mydist %{?dist}
%endif

# Skipping unit tests (for developpers)
#--------------------------------------
%define skip_unit_tests @SKIP_UNIT_TESTS@

# General settings
#-----------------
Summary: CERN Tape Archive
Name: %{name}
Version: %{ctaVersion}
Release: %{ctaRelease}%{mydist}
Source: %{name}-%{ctaVersion}-%{ctaRelease}.tar.gz
License: http://cern.ch/castor/DIST/CONDITIONS
Group: Application/cta
BuildRoot: %{_builddir}/%{name}-%{version}-root
29
BuildRequires: cmake >= 2.6 redhat-rpm-config
Eric Cano's avatar
Eric Cano committed
30
31
BuildRequires: xrootd-client-devel >= 4.2.3 xrootd-devel >= 4.2
BuildRequires: xrootd-server-devel >= 4.2 xrootd-private-devel >= 4.2
Eric Cano's avatar
Eric Cano committed
32
BuildRequires: ceph-devel >= 0.87
Eric Cano's avatar
Eric Cano committed
33
BuildRequires: protobuf-compiler >= 2.3.0 protobuf-devel >= 2.3.0
Eric Cano's avatar
Eric Cano committed
34
BuildRequires: gmock-devel >= 1.5.0 gtest-devel >= 1.5.0
Eric Cano's avatar
Eric Cano committed
35
BuildRequires: sqlite-devel >= 3.6
Eric Cano's avatar
Eric Cano committed
36
BuildRequires: libcap-devel >= 2.16
Eric Cano's avatar
Eric Cano committed
37
BuildRequires: binutils-devel >= 2.20
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# only build debug info if you're building the whole code

%description
The CTA project is the CERN Tape Archive system.

%prep
%setup -q -n %{name}-%{ctaVersion}-%{ctaRelease}

%build

mkdir -p build
cd build
# The cmake step does the selection between client/server compilation or just client
cmake .. -DCOMPILE_PACKAGING:STRING=0
%{__make} -s %{_smp_mflags}

%install
# define castor version (modified by maketar.sh to put the exact version)
%{__rm} -rf ${RPM_BUILD_ROOT}

cd build
%{__make} install DESTDIR=${RPM_BUILD_ROOT} EXPORTMAN=${RPM_BUILD_ROOT}/usr/share/man

%clean
%{__rm} -rf $RPM_BUILD_ROOT
%{__rm} -rf $RPM_BUILD_DIR/%{name}-%{version}


%check
%if "%{skip_unit_tests}" == "0"
cd build
69
%{__make} shortunittests
70
71
72
73
%endif

# The packages will be cta-tapeserver, cta-frontend, cta-cli

74
75
%package -n cta-taped
Summary: CERN Tape Archive: tape daemon
76
Group: Application/CTA
77
requires: cta-lib
78
%description -n cta-taped
79
80
CERN Tape Archive:
The tape server daemon
81
%files -n cta-taped
82
%defattr(-,root,root)
83
%attr(0755,root,root) %{_bindir}/cta-taped
84
%attr(0755,root,root) %{_libdir}/libctamessages.so
85

86
%package -n cta-frontend
87
Summary: CERN Tape Archive: Xrootd plugin
88
Group: Application/CTA
89
requires: cta-lib
90
91
92
93
94
95
96
%description -n cta-frontend
CERN Tape Archive:
The xroot plugin
%files -n cta-frontend
%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/libXrdCtaOfs.so
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/xrd.cf.cta
97

98
%package -n cta-cli
99
Summary: CERN Tape Archive: command line interface
100
101
102
103
104
105
106
Group: Application/CTA
%description -n cta-cli
CERN Tape Archive:
The xroot plugin
%files -n cta-cli
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/cta
107

108

109
110
111
112
113
114
115
116
117
118
119
120
%package -n cta-lib
Summary: CERN Tape Archive
Group: Application/CTA
%description -n cta-lib
CERN Tape Archive:
The shared libraries
%files -n cta-lib
%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/libctacommon.so
%attr(0755,root,root) %{_libdir}/libctanameserver.so
%attr(0755,root,root) %{_libdir}/libctaremotens.so
%attr(0755,root,root) %{_libdir}/libctascheduler.so
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
%attr(0755,root,root) %{_libdir}/libctaobjectstore.so
%attr(0755,root,root) %{_libdir}/libctamediachangerutils.so
%attr(0755,root,root) %{_libdir}/libctamessages.so
%attr(0755,root,root) %{_libdir}/libctamessagesutils.so
%attr(0755,root,root) %{_libdir}/libctatapereactorutils.so
%attr(0755,root,root) %{_libdir}/libctatapeserverdaemonutils.so

%package -n cta-unittests
Summary: CERN Tape Archive: unit tests
Group: Application/CTA
%description -n cta-unittests
CERN Tape Archive:
unit tests
%files -n cta-unittests
%attr(0755,root,root) %{_bindir}/cta-unitTests
%attr(0755,root,root) %{_bindir}/cta-valgrindUnitTests.sh
%attr(0755,root,root) %{_libdir}/libctacatalogueunittests.so
%attr(0755,root,root) %{_libdir}/libctacommonunittests.so
%attr(0755,root,root) %{_libdir}/libctaexceptionunittests.so
%attr(0755,root,root) %{_libdir}/libctaiounittests.so
%attr(0755,root,root) %{_libdir}/libctalegacymsgunittests.so
%attr(0755,root,root) %{_libdir}/libctamessagesunittests.so
%attr(0755,root,root) %{_libdir}/libctanameserverunittests.so
%attr(0755,root,root) %{_libdir}/libctaobjectstoreunittests.so
%attr(0755,root,root) %{_libdir}/libctaremotensunittests.so
%attr(0755,root,root) %{_libdir}/libctaschedulerunittests.so
%attr(0755,root,root) %{_libdir}/libctaserverunittests.so
%attr(0755,root,root) %{_libdir}/libctatapereactorunittests.so
%attr(0755,root,root) %{_libdir}/libctatapeserverdaemonunittests.so
%attr(0755,root,root) %{_libdir}/libctatapeserverdriveunittests.so
%attr(0755,root,root) %{_libdir}/libctatapeserverfileunittests.so
%attr(0755,root,root) %{_libdir}/libctatapeserverscsiunittests.so
%attr(0755,root,root) %{_libdir}/libctatapeserverutilsunittests.so
%attr(0755,root,root) %{_libdir}/libctautilsunittests.so
%attr(0644,root,root) %{_datadir}/%{name}-%{ctaVersion}/unittest/*.suppr


%package -n cta-systemtests
Summary: CERN Tape Archive: system tests with virtual tape drives
Group: Application/CTA
%description -n cta-systemtests
CERN Tape Archive:
system tests with virtual tape drives
%files -n cta-systemtests
%attr(0755,root,root) %{_bindir}/cta-systemTests
%attr(0755,root,root) %{_libdir}/libsystemTestHelperTests.so