cta.spec.in 6.62 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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 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
76
%{__make} shortunittests
77
78
%endif

79
# The packages will be cta-taped, cta-frontend, cta-cli
80

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

93
%package -n cta-frontend
94
Summary: CERN Tape Archive: Xrootd plugin
95
Group: Application/CTA
96
requires: cta-lib
97
98
99
100
101
102
%description -n cta-frontend
CERN Tape Archive:
The xroot plugin
%files -n cta-frontend
%defattr(-,root,root)
%attr(0755,root,root) %{_libdir}/libXrdCtaOfs.so
103
104
%attr(0644,root,root) %config(noreplace) /etc/xrootd/xrootd-cta.cfg
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta-frontend.conf
105

106
%package -n cta-cli
107
Summary: CERN Tape Archive: command line interface
108
Group: Application/CTA
109
requires: xrootd >= 4.3
110
111
112
113
114
%description -n cta-cli
CERN Tape Archive:
The xroot plugin
%files -n cta-cli
%defattr(-,root,root)
115
%attr(0755,root,root) %{_libdir}/libctacommon.so
116
%attr(0755,root,root) %{_bindir}/cta
117
%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/cta-cli.conf
118
119
120
121

%package -n cta-lib
Summary: CERN Tape Archive
Group: Application/CTA
122
Requires: oracle-instantclient12.1-basic
123
124
125
126
127
%description -n cta-lib
CERN Tape Archive:
The shared libraries
%files -n cta-lib
%defattr(-,root,root)
128
%attr(0755,root,root) %{_libdir}/libctacatalogue.so
129
130
131
%attr(0755,root,root) %{_libdir}/libctacommon.so
%attr(0755,root,root) %{_libdir}/libctaremotens.so
%attr(0755,root,root) %{_libdir}/libctascheduler.so
132
133
134
135
%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
136
%attr(0755,root,root) %{_libdir}/libctardbms.so
137
138
%attr(0755,root,root) %{_libdir}/libctatapereactorutils.so
%attr(0755,root,root) %{_libdir}/libctatapeserverdaemonutils.so
139
%attr(0644,root,root) %{_sysconfdir}/cta/cta_catalogue_db.conf.example
140

141
142
143
144
145
146
147
%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
148
149
%doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_oracle_catalogue_schema.sql
%doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_sqlite_catalogue_schema.sql
150

151
152
%package -n cta-systemtests
Summary: CERN Tape Archive: unit and system tests with virtual tape drives
153
Group: Application/CTA
154
Requires: valgrind >= 3.8.1
155
Requires: cta-taped = %{ctaVersion}-%{ctaRelease}%{mydist}
156
%description -n cta-systemtests
157
CERN Tape Archive:
158
159
160
161
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
162
%attr(0755,root,root) %{_libdir}/libcta-tapedSystemTests.so
163
%attr(0755,root,root) %{_bindir}/cta-catalogueUnitTests
164
%attr(0755,root,root) %{_bindir}/cta-unitTests
165
%attr(0755,root,root) %{_bindir}/cta-unitTests-multiProcess
166
%attr(0755,root,root) %{_bindir}/cta-valgrindUnitTests.sh
167
%attr(0755,root,root) %{_bindir}/cta-unitPlusSystemTests.sh
168
169
170
%attr(0755,root,root) %{_libdir}/libctacatalogueunittests.so
%attr(0755,root,root) %{_libdir}/libctacommonunittests.so
%attr(0755,root,root) %{_libdir}/libctaexceptionunittests.so
171
%attr(0755,root,root) %{_libdir}/libctainmemorycatalogueunittests.so
172
173
174
175
%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
176
%attr(0755,root,root) %{_libdir}/libctardbmsunittests.so
177
178
179
180
181
182
183
184
185
186
%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
187
%attr(0755,root,root) %{_libdir}/libctadaemonunittests.so
188
189
%attr(0755,root,root) %{_bindir}/cta-systemTests
%attr(0755,root,root) %{_libdir}/libctadaemonunittests-multiprocess.so
190
%attr(0644,root,root) %{_datadir}/%{name}-%{ctaVersion}/unittest/*.suppr