cta.spec.in 7.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
32
BuildRequires: librados2-devel >= 0.80
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
BuildRequires: zeromq-devel >= 4.0
Eric Cano's avatar
Eric Cano committed
39
40
BuildRequires: openssl-devel >= 1.0.1e
BuildRequires: cryptopp-devel >= 5.6.2
Eric Cano's avatar
Eric Cano committed
41
BuildRequires: libuuid-devel >= 2.17
Eric Cano's avatar
Eric Cano committed
42
BuildRequires: json-c-devel >= 0.11
Eric Cano's avatar
Eric Cano committed
43
BuildRequires: libattr-devel >= 2.4.44
44
BuildRequires: oracle-instantclient12.1-devel
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# 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
59
60
# Workaround for the inability of cmake to handle properly the dependencies to generated code.
%{__make} -s %{_smp_mflags} -k || true
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
%{__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
78
%{__make} shortunittests
79
80
%endif

81
# The packages will be cta-taped, cta-frontend, cta-cli
82

83
84
%package -n cta-taped
Summary: CERN Tape Archive: tape daemon
85
Group: Application/CTA
86
requires: cta-lib
87
%description -n cta-taped
88
89
CERN Tape Archive:
The tape server daemon
90
%files -n cta-taped
91
%defattr(-,root,root)
92
%attr(0755,root,root) %{_bindir}/cta-taped
93
%attr(0755,root,root) %{_libdir}/libctamessages.so
94

95
96
97
98
99
100
101
102
103
104
105
106
%package -n cta-tapeserverd
Summary: CERN Tape Archive: tapeserver daemon (demo only)
Group: Application/CTA
requires: cta-lib
%description -n cta-tapeserverd
CERN Tape Archive:
The tape server daemon
%files -n cta-tapeserverd
%defattr(-,root,root)
%attr(0755,root,root) %{_bindir}/cta-tapeserverd
%attr(0755,root,root) %{_libdir}/libctamessages.so

107
%package -n cta-frontend
108
Summary: CERN Tape Archive: Xrootd plugin
109
Group: Application/CTA
110
requires: cta-lib
111
112
113
114
115
116
%description -n cta-frontend
CERN Tape Archive:
The xroot plugin
%files -n cta-frontend
%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/libXrdCtaOfs.so
117
%attr(0644,root,root) %config(noreplace) /etc/xrootd/xrootd-cta.cfg
Daniele Kruse's avatar
Daniele Kruse committed
118
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-frontend.conf
119

120
%package -n cta-cli
121
Summary: CERN Tape Archive: command line interface
122
Group: Application/CTA
123
requires: xrootd >= 4.3
124
125
126
127
128
%description -n cta-cli
CERN Tape Archive:
The xroot plugin
%files -n cta-cli
%defattr(-,root,root)
129
%attr(0755,root,root) %{_libdir}/libctacommon.so
Daniele Kruse's avatar
Daniele Kruse committed
130
%attr(0755,root,root) %{_libdir}/libctautils.so
131
%attr(0755,root,root) %{_bindir}/cta
Daniele Kruse's avatar
Daniele Kruse committed
132
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta/cta-cli.conf
133
134
135
136

%package -n cta-lib
Summary: CERN Tape Archive
Group: Application/CTA
137
Requires: oracle-instantclient12.1-basic
138
139
140
141
142
%description -n cta-lib
CERN Tape Archive:
The shared libraries
%files -n cta-lib
%defattr(-,root,root)
143
%attr(0755,root,root) %{_libdir}/libctacatalogue.so
144
%attr(0755,root,root) %{_libdir}/libctacommon.so
145
146
#TODO: merge util and common
%attr(0755,root,root) %{_libdir}/libctautils.so
147
148
%attr(0755,root,root) %{_libdir}/libctaremotens.so
%attr(0755,root,root) %{_libdir}/libctascheduler.so
149
150
151
152
%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
153
%attr(0755,root,root) %{_libdir}/libctardbms.so
154
155
%attr(0755,root,root) %{_libdir}/libctatapereactorutils.so
%attr(0755,root,root) %{_libdir}/libctatapeserverdaemonutils.so
156
%attr(0644,root,root) %{_sysconfdir}/cta/cta_catalogue_db.conf.example
157

158
159
160
161
162
163
164
%package -n cta-doc
Summary: CERN Tape Archive: Documents and supporting SQL scripts
Group: Application/CTA
%description -n cta-doc
CERN Tape Archive:
Documents and supporting SQL scripts
%files -n cta-doc
165
166
%doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_oracle_catalogue_schema.sql
%doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_sqlite_catalogue_schema.sql
167

168
169
%package -n cta-systemtests
Summary: CERN Tape Archive: unit and system tests with virtual tape drives
170
Group: Application/CTA
171
Requires: valgrind >= 3.8.1
172
Requires: cta-taped = %{ctaVersion}-%{ctaRelease}%{mydist}
173
%description -n cta-systemtests
174
CERN Tape Archive:
175
176
177
178
Unit tests and system tests with virtual tape drives
%files -n cta-systemtests
%attr(0755,root,root) %{_bindir}/cta-systemTests
%attr(0755,root,root) %{_libdir}/libsystemTestHelperTests.so
179
%attr(0755,root,root) %{_libdir}/libcta-tapedSystemTests.so
180
%attr(0755,root,root) %{_bindir}/cta-catalogueUnitTests
181
%attr(0755,root,root) %{_bindir}/cta-unitTests
182
%attr(0755,root,root) %{_bindir}/cta-unitTests-multiProcess
183
%attr(0755,root,root) %{_bindir}/cta-valgrindUnitTests.sh
184
%attr(0755,root,root) %{_bindir}/cta-unitPlusSystemTests.sh
185
186
187
%attr(0755,root,root) %{_libdir}/libctacatalogueunittests.so
%attr(0755,root,root) %{_libdir}/libctacommonunittests.so
%attr(0755,root,root) %{_libdir}/libctaexceptionunittests.so
188
%attr(0755,root,root) %{_libdir}/libctainmemorycatalogueunittests.so
189
190
191
192
%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}/libctaobjectstoreunittests.so
193
%attr(0755,root,root) %{_libdir}/libctardbmsunittests.so
194
195
196
197
198
199
200
201
202
203
%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
204
%attr(0755,root,root) %{_libdir}/libctadaemonunittests.so
205
206
%attr(0755,root,root) %{_bindir}/cta-systemTests
%attr(0755,root,root) %{_libdir}/libctadaemonunittests-multiprocess.so
207
%attr(0644,root,root) %{_datadir}/%{name}-%{ctaVersion}/unittest/*.suppr