eos.spec.in 34.9 KB
Newer Older
1
#-------------------------------------------------------------------------------
2
# Helper macros and variables
3
#-------------------------------------------------------------------------------
4
%define _unpackaged_files_terminate_build 0
5
%define distribution %(/usr/lib/rpm/redhat/dist.sh --distnum)
6 7
%define devtoolset devtoolset-6
%define cmake cmake3
8
%define compiler gcc
9

10

11 12 13 14 15 16 17 18
# By default we build the eos client SRPMS, if the entire build is required
# then pass the "--with server" flag to the rpmbuild command
%bcond_without server

# By default we build without AddressSanitizer. To enable it,
# pass the "--with asan" flag to the rpmbuild command
%bcond_without asan

19 20 21 22
# By default we build without code coverage. To enable it,
# pass the "--with coverage" flag to the rpmbuild command
%bcond_without coverage

23
# By default we use eosprotobuf3 for EL7
24
%bcond_without eos_protobuf3_rh
25

26
# By default we don't use eosxrootd for EL7
27
%bcond_without eos_xrootd_rh
28

29
# Define required dependency for XRootD
30 31
%define eos_xrootd_version_min 0:4.11.0
%define xrootd_version_min 1:4.11.0
32
%define major_version @CPACK_PACKAGE_VERSION_MAJOR@
33 34
%define release_version @CPACK_PACKAGE_RELEASE@

35 36
# release tags like x.y.z-1 enable automatically to build with eos-xrootd
%if "%release_version" == "1"
37 38
%define _with_eos_xrootd_rh 1
%endif
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

#-------------------------------------------------------------------------------
# Compute additional macros based on environment or existing definitions
#-------------------------------------------------------------------------------

%if %{?_with_clang:1}%{!?_with_clang:0}
  %define compiler clang
%endif

%if %{?_with_asan:1}%{!?_with_asan:0}
  %define devtoolset devtoolset-8
%endif

%if %{?fedora:1}%{!?fedora:0}
  %define cmake cmake
%endif

56
%if %{?rhel:1}%{!?rhel:0}
57 58 59 60 61 62 63
  %if %{rhel} >= 7
    %define use_systemd 1
    %define use_richacl 1
  %else
    %define use_systemd 0
    %define use_richacl 0
  %endif
64
%else
65 66 67 68 69 70 71
  %if %{?fedora}%{!?fedora:0} >= 19
    %define use_systemd 1
    %define use_richacl 1
  %else
    %define use_systemd 0
    %define use_richacl 0
  %endif
72 73
%endif

74 75 76
#-------------------------------------------------------------------------------
# Custom strip command for SLC6, CC7
#-------------------------------------------------------------------------------
77
%if "%{compiler}" == "gcc"
78
%if 0%{distribution} == 6 || 0%{distribution} == 7
79
%global __strip /opt/rh/%{devtoolset}/root/usr/bin/strip
80
%endif
81
%endif
82

83 84 85
#-------------------------------------------------------------------------------
# Package definitions
#-------------------------------------------------------------------------------
86
Summary: The EOS project
87 88
Name: @CPACK_PACKAGE_NAME@
Version: @CPACK_PACKAGE_VERSION@
89
Release: @CPACK_PACKAGE_RELEASE@%{dist}
90
Prefix: /usr
91 92
License: none
Group: Applications/File
93

94
Source: %{name}-%{version}-@CPACK_PACKAGE_RELEASE@.tar.gz
95
BuildRoot: %{_tmppath}/%{name}-root
96 97

# Add EPEL repository explicitly which holds many of the other dependencies
98
%if 0%{?distribution} == 6
99 100 101
BuildRequires: sl-release-scl
Requires: sl-release-scl
%else
102
%if 0%{?distribution} == 7
103 104 105
BuildRequires: epel-release
Requires: epel-release
%endif
106
%endif
107

108
BuildRequires: %{cmake} >= 3.3
109 110 111 112 113 114

# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
115
%if 0%{?distribution} == 7
116
BuildRequires: eos-xrootd == %{eos_xrootd_version_min}
117
# dont' put an explicit dependency on xrootd because eos-xrootd hides the shared libraries from provide
118
%global __requires_exclude ^libXrd*
119 120
%else
# Install default xrootd
121
BuildRequires: xrootd >= %{xrootd_version_min}
122 123 124
BuildRequires: xrootd-client-devel >= %{xrootd_version_min}
BuildRequires: xrootd-server-devel >= %{xrootd_version_min}
BuildRequires: xrootd-private-devel >= %{xrootd_version_min}
125 126 127
%endif
%else
# Install default xrootd
128
BuildRequires: xrootd >= %{xrootd_version_min}
129 130 131 132 133 134 135 136 137 138
BuildRequires: xrootd-client-devel >= %{xrootd_version_min}
BuildRequires: xrootd-server-devel >= %{xrootd_version_min}
BuildRequires: xrootd-private-devel >= %{xrootd_version_min}
%endif

# -----------------------
# select protobuf package
# -----------------------
%if ! %{without eos_protobuf3_rh}
# Install eos-protobuf3
139
%if 0%{?distribution} == 7
140 141 142 143
BuildRequires: eos-protobuf3 = 3.5.1-5.el7.cern.eos
BuildRequires: eos-protobuf3-compiler = 3.5.1-5.el7.cern.eos
BuildRequires: eos-protobuf3-devel = 3.5.1-5.el7.cern.eos

144
# don't put an explicit dependency on protobuf because eos-protobuf3 hides shared libraries from provide
145 146 147
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
%global __requires_exclude ^(libprotobuf.so.*$|libXrd*)
%else
148
%global __requires_exclude ^libprotobuf.so.*$
149
%endif
150 151
%else
%if %{?fedora}%{!?fedora:0} >= 27
152
BuildRequires: protobuf >= 3.3, protobuf-devel >= 3.3, protobuf-compiler >= 3.3
153
%else
154
BuildRequires: protobuf3 >= 3.3, protobuf3-devel >= 3.3, protobuf3-compiler >= 3.3
155 156 157 158
%endif
%endif
%else
%if %{?fedora}%{!?fedora:0} >= 27
159
BuildRequires: protobuf >= 3.3, protobuf-devel >= 3.3, protobuf-compiler >= 3.3
160
%else
161
BuildRequires: protobuf3 >= 3.3, protobuf3-devel >= 3.3, protobuf3-compiler >= 3.3
162 163 164 165
%endif
%endif


166 167 168 169
BuildRequires: git, readline-devel
BuildRequires: openssl, openssl-devel
BuildRequires: ncurses, ncurses-devel
BuildRequires: zlib, zlib-devel
170
BuildRequires: fuse-devel, fuse >= 2.5
171
BuildRequires: krb5-devel
172 173 174
%if %{use_richacl}
BuildRequires: librichacl-devel, richacl >= 1.12
%endif
175
BuildRequires: redhat-rpm-config
176
BuildRequires: leveldb-devel
177
BuildRequires: libattr-devel, xfsprogs-devel
178
BuildRequires: gcc gcc-c++
179
BuildRequires: jsoncpp, jsoncpp-devel
180
BuildRequires: hiredis, hiredis-devel
181
BuildRequires: jemalloc, jemalloc-devel
182
BuildRequires: glibc-headers
183
BuildRequires: binutils-devel
184
BuildRequires: cppunit-devel
185
BuildRequires: help2man
186 187

%if %{?_with_server:1}%{!?_with_server:0}
188
BuildRequires: eos-rocksdb = 5.7.3-1%{dist}
189
BuildRequires: openldap-devel
190
BuildRequires: e2fsprogs-devel
191
BuildRequires: libmicrohttpd, libmicrohttpd-devel >= 0.9.38
192
BuildRequires: grpc, grpc-devel, grpc-plugins
193
%endif
194

195 196 197
BuildRequires: bzip2-devel
Requires: bzip2-devel

198 199
BuildRequires: elfutils-devel
Requires: elfutils-devel
200

201 202 203
BuildRequires: libuuid-devel, ncurses-static, openssl-static, zlib-static,
BuildRequires: libcurl-devel libcurl, sparsehash-devel
%if 0%{?rhel} == 6 || 0%{?el6} == 1 || (0%{?fedora} >= 18 && 0%{?fedora} <= 21)
204
BuildRequires: zeromq3, zeromq3-devel
205
BuildRequires: libevent2, libevent2-devel
206
%else
207
BuildRequires: zeromq, zeromq-devel, cppzmq-devel
208
BuildRequires: libevent, libevent-devel
209 210
BuildRequires: bzip2-devel
Requires: bzip2
211
%endif
212

213 214 215 216 217
# Install newer gcc on SLC6 + CC7
%if 0%{distribution} == 7
BuildRequires: centos-release-scl
%endif

218
%if "%{compiler}" == "gcc"
219
%if 0%{distribution} == 6 || 0%{distribution} == 7
220 221
BuildRequires: %{devtoolset}
BuildRequires: %{devtoolset}-binutils-devel
222 223
# We want swap-support on eosxd - requires rocksdb KV
BuildRequires: eos-rocksdb = 5.7.3-1%{dist}
224 225
%else
BuildRequires: binutils-devel
226
%endif
227 228 229 230 231 232 233 234 235 236
%endif

%if "%{compiler}" == "clang"
BuildRequires: clang
BuildRequires: libatomic
Requires: libatomic
%if 0%{distribution} == 7
BuildRequires: llvm-toolset-7
%endif
%endif
237

238 239
%if %{?_with_asan:1}%{!?_with_asan:0}
%if 0%{distribution} == 6 || 0%{distribution} == 7
240
BuildRequires: %{devtoolset}-libasan-devel
241 242 243 244 245
%else
BuildRequires: libasan
%endif
%endif

246 247
%if %{use_systemd}
BuildRequires: systemd
248 249
%endif

250 251
%description
The EOS software package.
252 253
%prep
%setup -n %{name}-%{version}-@CPACK_PACKAGE_RELEASE@
254
%global build_type RelWithDebInfo
255 256 257 258 259 260 261
%global build_flags -DBUILD_MANPAGES=1 -DFUSEXCLIENT=1
%if %{?_with_server:0}%{!?_with_server:1}
%global build_flags %{build_flags} -DCLIENT=1
%endif
%if %{?_with_asan:1}%{!?_with_asan:0}
%global build_flags %{build_flags} -DASAN=1
%endif
262 263 264 265
%if %{?_with_coverage:1}%{!?_with_coverage:0}
%global build_type Debug
%global build_flags %{build_flags} -DCOVERAGE=1 -DCOV_CROSS_PROFILE=1
%endif
266

267

268 269 270 271
%build
test -e $RPM_BUILD_ROOT && rm -r $RPM_BUILD_ROOT
mkdir -p build
cd build
272 273
%if "%{?compiler}" == "gcc"
  %if 0%{distribution} == 6 || 0%{distribution} == 7
274
    scl enable %{devtoolset} "env QA_RPATHS=3 %{cmake} ../ -DRELEASE=@CPACK_PACKAGE_RELEASE@ -DCMAKE_BUILD_TYPE=%{build_type} -DXROOTD_ROOT_DIR=/opt/eos/xrootd/ %{build_flags}"
275
  %else
276
    %{cmake} ../ -DRELEASE=@CPACK_PACKAGE_RELEASE@ -DCMAKE_BUILD_TYPE=%{build_type} %{build_flags}
277
  %endif
278
%else
279
  %if 0%{distribution} == 7
280
    scl enable llvm-toolset-7 "env QA_RPATHS=3 CC=clang CXX=clang++ %{cmake} ../ -DRELEASE=@CPACK_PACKAGE_RELEASE@ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_RPATH=/lib64/:/usr/lib64/ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=true -DXROOTD_ROOT_DIR=/opt/eos/xrootd/ %{build_flags}"
281
  %else
282
    CC=clang CXX=clang++ %{cmake} ../ -DRELEASE=@CPACK_PACKAGE_RELEASE@ -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=true %{build_flags}
283
  %endif
284
%endif
285 286 287 288 289
%{__make} %{_smp_mflags}

%install
cd build
%{__make} install DESTDIR=$RPM_BUILD_ROOT
290
export QA_RPATHS=3
291 292 293 294 295
echo "Installed!"

%clean
rm -rf $RPM_BUILD_ROOT

296
%if %{?_with_server:1}%{!?_with_server:0}
297 298 299
#-------------------------------------------------------------------------------
# Package eos-server
#-------------------------------------------------------------------------------
300 301 302
%package -n eos-server
Summary: The EOS server installation
Group: Applications/File
303

304 305 306 307 308
# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
309
%if 0%{?distribution} == 7
310
Requires: eos-xrootd == %{eos_xrootd_version_min}
311 312 313 314 315 316
%else
Requires: xrootd >= %{xrootd_version_min}
Requires: xrootd-client >= %{xrootd_version_min}
Requires: xrootd-private-devel >= %{xrootd_version_min}
%endif
%else
317 318 319
Requires: xrootd >= %{xrootd_version_min}
Requires: xrootd-client >= %{xrootd_version_min}
Requires: xrootd-private-devel >= %{xrootd_version_min}
320 321 322
%endif


323
Requires: eos-client = @CPACK_PACKAGE_VERSION@
324
Requires: libmicrohttpd >= 0.9.38
325
Requires: acl
326
Requires: gdb
327
Requires: jemalloc
328
Requires: jsoncpp
Elvin Sindrilaru's avatar
Elvin Sindrilaru committed
329
Requires: psmisc
330
Requires: libcurl
331
Requires: logrotate
332 333 334 335 336 337

# -----------------------
# select protobuf package
# -----------------------
%if ! %{without eos_protobuf3_rh}
# Install eos-protobuf3
338
%if 0%{?distribution} == 7
339
Requires: eos-protobuf3 = 3.5.1-5.el7.cern.eos
340 341 342 343 344 345 346 347
%else
%if %{?fedora}%{!?fedora:0} >= 27
Requires: protobuf >= 3.3
%else
Requires: protobuf3 >= 3.3
%endif
%endif
%else
348
%if %{?fedora}%{!?fedora:0} >= 27
349
Requires: protobuf >= 3.3
350
%else
351
Requires: protobuf3 >= 3.3
352
%endif
353 354 355
%endif


356 357 358 359 360 361 362
%if %{use_systemd}
Requires: systemd
%else
Requires: chkconfig
Requires: initscripts
Requires: sysvinit-tools
%endif
363 364
%if 0%{?rhel} == 6 || 0%{?el6} == 1 || (0%{?fedora} >= 18 && 0%{?fedora} <= 21)
BuildRequires: zeromq3, zeromq3-devel
365
Requires: zeromq3
366 367
%else
BuildRequires: zeromq, zeromq-devel, cppzmq-devel
368
Requires: zeromq
369
%endif
370 371
BuildRequires: eos-folly = 2017.09.18.00-4%{dist}
Requires: eos-folly = 2017.09.18.00-4%{dist}
372

373 374 375
%description -n eos-server
The EOS server installation containing MGM, FST & MQ service.

376
%files -n eos-server
377
%defattr(-, root, root, -)
378 379
%{_bindir}/eos-ns-convert
%{_bindir}/eos-ns-convert-to-locality-hashes
380
%{_bindir}/eos-dump-proto-md
381 382 383 384 385 386 387 388 389 390 391 392 393
%{_sbindir}/eosfilesync
%{_sbindir}/eosdirsync
%{_sbindir}/eos-tty-broadcast
%{_sbindir}/eos-log-compact
%{_sbindir}/eos-log-repair
%{_sbindir}/eossh-timeout
%{_sbindir}/eosfstregister
%{_sbindir}/eosfstinfo
%{_sbindir}/eosadmin
%{_sbindir}/eos-check-blockxs
%{_sbindir}/eos-udp-dumper
%{_sbindir}/eos-compute-blockxs
%{_sbindir}/eos-scan-fs
394
%{_sbindir}/eos-fsck-fs
395 396 397 398 399 400
%{_sbindir}/eos-adler32
%{_sbindir}/eos-mmap
%{_sbindir}/eos-repair-tool
%{_sbindir}/eos-ioping
%{_sbindir}/eos-iobw
%{_sbindir}/eos-iops
401
%{_sbindir}/eos-leveldb-inspect
402
%{_sbindir}/eos-filter-stacktrace
403 404 405
%{_libdir}/libEosCommonServer.so.%{version}
%{_libdir}/libEosCommonServer.so.%{major_version}
%{_libdir}/libEosCommonServer.so
406 407 408
%{_libdir}/libEosFstIo.so.%{version}
%{_libdir}/libEosFstIo.so.%{major_version}
%{_libdir}/libEosFstIo.so
409
%{_libdir}/libEosNsCommon.so.%{version}
410
%{_libdir}/libEosNsCommon.so.%{major_version}
411
%{_libdir}/libEosNsCommon.so
412 413
%{_libdir}/libEosAuthOfs.so
%{_libdir}/libEosFstOss.so
414
%{_libdir}/libXrdEosFst.so
415
%{_libdir}/libXrdEosFst-4.so
416
%{_libdir}/libEosNsInMemory.so
417
%{_libdir}/libXrdEosMgm.so
418
%{_libdir}/libEosMgmHttp.so
419
%{_libdir}/libXrdMqOfs.so
420
%{_libdir}/libEosNsQuarkdb.so
421 422 423 424 425 426 427
%config(noreplace) %{_sysconfdir}/xrd.cf.fst
%config(noreplace) %{_sysconfdir}/xrd.cf.mgm
%config(noreplace) %{_sysconfdir}/xrd.cf.mq
%config(noreplace) %{_sysconfdir}/xrd.cf.global-mq
%config(noreplace) %{_sysconfdir}/xrd.cf.sync
%config(noreplace) %{_sysconfdir}/xrd.cf.fed
%config(noreplace) %{_sysconfdir}/xrd.cf.prefix
428
%config(noreplace) %{_sysconfdir}/xrd.cf.quarkdb
429
%if %{use_systemd}
430
    %config %{_sysconfdir}/sysconfig/eos_env.example
431
    %{_prefix}/lib/systemd/system/eos.target
432
    %{_prefix}/lib/systemd/system/eos.service
433 434 435 436 437 438 439 440
    %{_prefix}/lib/systemd/system/eos@.service
    %{_prefix}/lib/systemd/system/eos@master.service
    %{_prefix}/lib/systemd/system/eos@slave.service
    %{_prefix}/lib/systemd/system/eosfstdb@.service
    %{_prefix}/lib/systemd/system/eosslave.service
    %{_prefix}/lib/systemd/system/eossync.service
    %{_prefix}/lib/systemd/system/eossync@.service
    %{_prefix}/lib/systemd/system/eossync@config.service
441
    %{_sbindir}/eos_start_pre.sh
442
%else
443
    %config %{_sysconfdir}/sysconfig/eos.example
444 445 446 447
    %{_sysconfdir}/rc.d/init.d/eos
    %{_sysconfdir}/rc.d/init.d/eossync
    %{_sysconfdir}/rc.d/init.d/eosslave
%endif
448 449 450
%{_sysconfdir}/cron.d/eos-logs
%{_sysconfdir}/cron.d/eos-reports
%{_sysconfdir}/logrotate.d/eos-logs
451
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos
452
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos/html
453 454 455 456 457 458
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos/wfe
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos/wfe/bash/
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos/ns-queue
%dir %attr(700,daemon,daemon) %{_localstatedir}/eos/ns-queue/default
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos/tx
459
%attr(644,daemon,daemon) %{_localstatedir}/eos/html/error.html
460
%attr(555,daemon,daemon) %{_localstatedir}/eos/wfe/bash/shell
Elvin Sindrilaru's avatar
Elvin Sindrilaru committed
461 462
%exclude %dir %{_localstatedir}/eos/archive/
%exclude %dir %{_localstatedir}/log/eos/archive/
463

Andreas Joachim Peters's avatar
Andreas Joachim Peters committed
464
%post -n eos-server
465
echo "Starting conditional EOS services"
466
sleep 2
467
%if %{use_systemd}
468 469
    systemctl daemon-reload > /dev/null 2>&1 || :
    systemctl restart eos@* > /dev/null 2>&1 || :
470
%else
471 472
    /sbin/chkconfig --add eos
    /sbin/chkconfig --add eosslave
473 474 475
    /sbin/service eos condrestart > /dev/null 2>&1 || :
    /sbin/service eosd condrestart > /dev/null 2>&1 || :
%endif
476

Andreas Joachim Peters's avatar
Andreas Joachim Peters committed
477 478
%preun -n eos-server
if [ $1 = 0 ]; then
479
  echo "Stopping EOS services"
480
  %if %{use_systemd}
481 482 483 484
    systemctl stop eosd@* > /dev/null 2>&1
    systemctl stop eos@* > /dev/null 2>&1 || :
    systemctl stop eossync@* > /dev/null 2>&1
    systemctl stop eosslave > /dev/null 2>&1
485 486 487 488 489
  %else
    /sbin/service eosd stop > /dev/null 2>&1
    /sbin/service eos stop > /dev/null 2>&1 || :
    /sbin/service eossync stop > /dev/null 2>&1
    /sbin/service eosslave stop > /dev/null 2>&1
490 491
    /sbin/chkconfig --del eos
    /sbin/chkconfig --del eosslave
492
  %endif
Andreas Joachim Peters's avatar
Andreas Joachim Peters committed
493 494
fi

495 496 497 498 499 500 501
#-------------------------------------------------------------------------------
# Package eos-ns-inspect
#-------------------------------------------------------------------------------
%package -n eos-ns-inspect
Summary: EOS namespace inspection tool for instance administrators
Group: Applications/File

502 503 504 505 506
# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
507
%if 0%{?distribution} == 7
508
Requires: eos-xrootd == %{eos_xrootd_version_min}
509 510 511 512
%else
Requires: xrootd-client >= %{xrootd_version_min}
%endif
%else
513
Requires: xrootd-client >= %{xrootd_version_min}
514 515
%endif

516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537
# -----------------------
# select protobuf package
# -----------------------
%if ! %{without eos_protobuf3_rh}
# Install eos-protobuf3
%if 0%{?distribution} == 7
Requires: eos-protobuf3 = 3.5.1-5.el7.cern.eos
%else
%if %{?fedora}%{!?fedora:0} >= 27
Requires: protobuf >= 3.3
%else
Requires: protobuf3 >= 3.3
%endif
%endif
%else
%if %{?fedora}%{!?fedora:0} >= 27
Requires: protobuf >= 3.3
%else
Requires: protobuf3 >= 3.3
%endif
%endif

538 539 540 541 542 543 544 545 546
BuildRequires: eos-folly = 2017.09.18.00-4%{dist}
Requires: eos-folly = 2017.09.18.00-4%{dist}

%description -n eos-ns-inspect
EOS namespace inspection tool for instance administrators

%files -n eos-ns-inspect
%defattr(-, root, root, -)
%{_bindir}/eos-ns-inspect
547
%endif
548

549 550 551
#-------------------------------------------------------------------------------
# Package eos-client
#-------------------------------------------------------------------------------
552 553 554
%package -n eos-client
Summary: The EOS shell client
Group: Applications/File
555

556 557 558 559 560
# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
561
%if 0%{?distribution} == 7
562
Requires: eos-xrootd == %{eos_xrootd_version_min}
563
%else
564
Requires: xrootd-client >= %{xrootd_version_min}
565 566 567 568 569 570 571 572 573 574
%endif
%else
Requires: xrootd-client >= %{xrootd_version_min}
%endif

# -----------------------
# select protobuf package
# -----------------------
%if ! %{without eos_protobuf3_rh}
# Install eos-protobuf3
575
%if 0%{?distribution} == 7
576 577 578 579 580 581 582 583 584
Requires: eos-protobuf3
%else
%if %{?fedora}%{!?fedora:0} >= 27
Requires: protobuf >= 3.3
%else
Requires: protobuf3 >= 3.3
%endif
%endif
%else
585
%if %{?fedora}%{!?fedora:0} >= 27
586
Requires: protobuf >= 3.3
587
%else
588
Requires: protobuf3 >= 3.3
589
%endif
590 591
%endif

592 593 594 595 596 597 598
%if %{use_systemd}
Requires: systemd
%else
Requires: chkconfig
Requires: initscripts
Requires: sysvinit-tools
%endif
599

600 601
%description -n eos-client
The EOS shell client.
602

603
%files -n eos-client
604 605 606 607
%defattr(-, root, root, -)
%{_bindir}/eos
%{_bindir}/eoscp
%{_libdir}/libXrdMqClient.so.%{version}
608
%{_libdir}/libXrdMqClient.so.%{major_version}
609
%{_libdir}/libXrdMqClient.so
610 611 612
%{_libdir}/libEosCommon.so.%{version}
%{_libdir}/libEosCommon.so.%{major_version}
%{_libdir}/libEosCommon.so
613
%{_sysconfdir}/bash_completion.d/eos
614

615 616 617 618 619 620 621 622 623
# This file is required by both the eos-fuse and eos-fusex package, therefore
# to avoid any conflicts we distribute it with eos-client.
%if 0%{distribution} == 6
%config(noreplace) %{_sysconfdir}/fuse.conf
%{_sysconfdir}/fuse.conf.eos
%else
%{_sysconfdir}/fuse.conf.eos
%endif

624 625 626 627 628 629
# Documentation
%doc %{_mandir}/man1/

#-------------------------------------------------------------------------------
# Package eos-fuse
#-------------------------------------------------------------------------------
630
%package -n eos-fuse
631
Summary: The new EOS fuse client
632
Group: Applications/File
633
Requires: eos-fuse-core = @CPACK_PACKAGE_VERSION@
Elvin Sindrilaru's avatar
Elvin Sindrilaru committed
634
Requires: eos-fuse-sysv = @CPACK_PACKAGE_VERSION@
635 636 637 638 639
%if %{use_systemd}
Requires: systemd
%else
Requires: chkconfig
Requires: initscripts
640
Requires: sysvinit-tools
641
Requires: psmisc
642
%endif
643 644

%description -n eos-fuse
645
The new EOS fuse client bundle.
646 647 648 649 650 651 652 653

%files -n eos-fuse
%defattr(-, root, root, -)

#-------------------------------------------------------------------------------
# Package eos-fuse-core
#-------------------------------------------------------------------------------
%package -n eos-fuse-core
654 655 656
Summary: The EOS fuse client
Group: Applications/File

657 658 659 660 661
# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
662
%if 0%{?distribution} == 7
663
Requires: eos-xrootd == %{eos_xrootd_version_min}
664
%else
665
Requires: xrootd-client >= %{xrootd_version_min}
666 667 668 669 670
%endif
%else
Requires: xrootd-client >= %{xrootd_version_min}
%endif

671
Requires: eos-client = @CPACK_PACKAGE_VERSION@
672
Requires: fuse
673
Requires: jemalloc
674
Requires: policycoreutils
675

676 677
%description -n eos-fuse-core
The EOS fuse core containing eosd and mount scripts.
678

679
%files -n eos-fuse-core
680
%defattr(-, root, root, -)
681
%{_bindir}/eosd
682 683
%{_bindir}/eosfusebind
/sbin/mount.eos
684 685
%{_datarootdir}/selinux/targeted/eosfuse.pp
%{_datarootdir}/selinux/mls/eosfuse.pp
Elvin Sindrilaru's avatar
Elvin Sindrilaru committed
686
%{_datarootdir}/selinux/strict/eosfuse.pp
687
%config %{_sysconfdir}/logrotate.d/eos-fuse-logs
688 689 690 691 692
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos/fuse
%dir %attr(0755, root, root) %{_localstatedir}/run/eosd/
%dir %attr(1777, root, root) %{_localstatedir}/run/eosd/credentials/
%dir %attr(1777, root, root) %{_localstatedir}/run/eosd/credentials/store
693 694 695

# Create the credential store
%if %{?fedora:1}%{!?fedora:0} || 0%{?rhel} >= 7 || 0%{?el7} == 1
696
%{_usr}/lib/tmpfiles.d/eosd.conf
697
%endif
698

699
%post -n eos-fuse-core
700
if [ "$1" -le "1" ]; then # First install
701 702 703 704 705
  # Note: don't push bash variables between {} since they will be empty!!!
  for VARIANT in mls strict targeted
  do
    /usr/sbin/semodule -i %{_datarootdir}/selinux/$VARIANT/eosfuse.pp || :
  done
706
fi
707 708

%preun -n eos-fuse-core
709
if [ "$1" -eq  "0" ]; then # Final removal
710
  /usr/sbin/semodule -r eosfuse || :
711 712 713
fi

%postun -n eos-fuse-core
714
if [ "$1" -ge "1" ]; then # Upgrade
715 716 717 718
  for VARIANT in mls strict targeted
  do
    /usr/sbin/semodule -i %{_datarootdir}/selinux/$VARIANT/eosfuse.pp || :
  done
719 720 721 722 723

  # If the automount daemon catches a USR1 signal, it will umount all currently
  # unused autofs managed mounted filesystems and continue running (forced
  # expire).
  /usr/bin/killall --quiet --signal USR1 automount ||:
724 725 726
fi

#-------------------------------------------------------------------------------
727
# Package eos-fuse-sysv
728
#-------------------------------------------------------------------------------
729
%package -n eos-fuse-sysv
730 731
Summary: The EOS fuse client
Group: Applications/File
732
Requires: eos-fuse-core = @CPACK_PACKAGE_VERSION@
733

734 735
%description -n eos-fuse-sysv
The EOS fuse SYSV init scripts.
736

737
%files -n eos-fuse-sysv
738
%defattr(-, root, root, -)
739
%{_sysconfdir}/rc.d/init.d/eosd
740

741
%post -n eos-fuse-sysv
742 743
%if %{?fedora:1}%{!?fedora:0} || 0%{?rhel} >= 7 || 0%{?el7} == 1
  echo "Skipping chkconfig for eosd"
744
%else
745
  /sbin/chkconfig --add eosd
746
%endif
747

748
%preun -n eos-fuse-sysv
749 750
%if %{?fedora:1}%{!?fedora:0} || 0%{?rhel} >= 7 || 0%{?el7} == 1
  echo "Skipping chkconfig for eosd"
751
%else
752 753
  if [ $1 = 0 ]; then
    echo "Stopping EOS FUSE services"
754
    /sbin/service eosd stop > /dev/null 2>&1 || :
755 756
    /sbin/chkconfig --del eosd
  fi
757
%endif
758

759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792
# TODO (esindril): This should be enabled when we move to systemd for fuse
# %if %{use_systemd}
#   %config %{_sysconfdir}/sysconfig/eosd_env.example
#   %{_prefix}/lib/systemd/system/eosd@.service
#   %{_sbindir}/eos_start_pre.sh
# %else
#   %{_sysconfdir}/rc.d/init.d/eosd
# %endif

# %post -n eos-fuse-sys
# %if %{use_systemd}
#   systemctl daemon-reload > /dev/null 2>&1 || :
# %endif
# %if %{?fedora:1}%{!?fedora:0} || 0%{?rhel} >= 7 || 0%{?el7} == 1
#   echo "Skipping chkconfig for eosd"
# %else
#   /sbin/chkconfig --add eosd
# %endif

# %preun -n eos-fuse-sys
# %if %{?fedora:1}%{!?fedora:0} || 0%{?rhel} >= 7 || 0%{?el7} == 1
#   echo "Skipping chkconfig for eosd"
# %else
#   if [ $1 = 0 ]; then
#     echo "Stopping EOS FUSE services"
#     %if %{use_systemd}
#       systemctl stop eosd@* > /dev/null 2>&1 || :
#     %else
#       /sbin/service eosd stop > /dev/null 2>&1 || :
#     %endif
#     /sbin/chkconfig --del eosd
#   fi
# %endif

Jozsef Makai's avatar
Jozsef Makai committed
793 794 795 796 797 798 799 800 801
#-------------------------------------------------------------------------------
# Package eos-fusex
#-------------------------------------------------------------------------------
%package -n eos-fusex
Summary: The new EOS fuse client
Group: Applications/File

Requires: eos-fusex-core = @CPACK_PACKAGE_VERSION@
Requires: eos-fusex-selinux = @CPACK_PACKAGE_VERSION@
802
Requires: eos-fusex-cern-autofs = @CPACK_PACKAGE_VERSION@
Jozsef Makai's avatar
Jozsef Makai committed
803 804 805 806 807 808 809 810 811 812 813 814 815 816

%description -n eos-fusex
The new EOS fuse client bundle.

%files -n eos-fusex
%defattr(-, root, root, -)

#-------------------------------------------------------------------------------
# Package eos-fusex-core
#-------------------------------------------------------------------------------
%package -n eos-fusex-core
Summary: The new EOS fuse client
Group: Applications/File

817 818 819 820 821
# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
822
%if 0%{?distribution} == 7
823
Requires: eos-xrootd == %{eos_xrootd_version_min}
824
%else
825
Requires: xrootd-client >= %{xrootd_version_min}
826 827 828 829 830
%endif
%else
Requires: xrootd-client >= %{xrootd_version_min}
%endif

831
Requires: eos-client = @CPACK_PACKAGE_VERSION@
Jozsef Makai's avatar
Jozsef Makai committed
832 833
Requires: fuse
Requires: jemalloc
834
Requires: attr
835 836 837
%if %{use_richacl}
Requires: librichacl, richacl >= 1.12
%endif
838 839 840 841 842
%if 0%{?rhel} == 6 || 0%{?el6} == 1 || (0%{?fedora} >= 18 && 0%{?fedora} <= 21)
Requires: zeromq3
%else
Requires: zeromq
%endif
Jozsef Makai's avatar
Jozsef Makai committed
843 844 845 846 847 848 849

%description -n eos-fusex-core
The new EOS fuse core containing eosxd.

%files -n eos-fusex-core
%defattr(-, root, root, -)
%{_bindir}/eosxd
850
/sbin/mount.eosx
Jozsef Makai's avatar
Jozsef Makai committed
851
%{_sysconfdir}/logrotate.d/eos-fusex-logs
852 853 854 855
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos/
%dir %attr(755,daemon,daemon) %{_localstatedir}/log/eos/fusex/
%dir %attr(755,daemon,daemon) %{_localstatedir}/cache/eos/
%dir %attr(755,daemon,daemon) %{_localstatedir}/cache/eos/fusex/
Jozsef Makai's avatar
Jozsef Makai committed
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873

#-------------------------------------------------------------------------------
# Package eos-fusex-selinux
#-------------------------------------------------------------------------------
%package -n eos-fusex-selinux
Summary: The new EOS fuse client selinux configuration
Group: Applications/File

%description -n eos-fusex-selinux
The new EOS fuse core containing selinux definitions.

%files -n eos-fusex-selinux
%defattr(-, root, root, -)
/usr/share/selinux/targeted/eosfuse.pp
/usr/share/selinux/mls/eosfuse.pp
/usr/share/selinux/strict/eosfuse.pp

%post -n eos-fusex-selinux
874 875 876 877 878 879 880
if [ "$1" -le "1" ]; then # First install
  # Note: don't push bash variables between {} since they will be empty!!!
  for VARIANT in mls strict targeted
  do
    /usr/sbin/semodule -i %{_datarootdir}/selinux/$VARIANT/eosfuse.pp || :
  done
fi
Jozsef Makai's avatar
Jozsef Makai committed
881 882

%preun -n eos-fusex-selinux
883 884
if [ "$1" -eq  "0" ]; then # Final removal
  /usr/sbin/semodule -r eosfuse || :
Jozsef Makai's avatar
Jozsef Makai committed
885 886 887
fi

%postun -n eos-fusex-selinux
888 889 890 891
if [ "$1" -ge "1" ]; then # Upgrade
  for VARIANT in mls strict targeted
  do
    /usr/sbin/semodule -i %{_datarootdir}/selinux/$VARIANT/eosfuse.pp || :
Jozsef Makai's avatar
Jozsef Makai committed
892 893 894
  done
fi

895 896 897 898 899 900 901 902 903 904 905

#-------------------------------------------------------------------------------
# Package eos-fusex-cern-autofs 
#-------------------------------------------------------------------------------

%package -n eos-fusex-cern-autofs
Summary: The autofs mounter for CERN EOS user/project mounting
Group: Applications/File

%description -n eos-fusex-cern-autofs
The autofs mounter for CERN EOS user/project mounting
906 907

%files -n eos-fusex-cern-autofs
908 909 910
%defattr(-, root, root, -)
/sbin/automount.cern.eos

911
%if %{?_with_server:1}%{!?_with_server:0}
912 913 914
#-------------------------------------------------------------------------------
# Package eos-srm
#-------------------------------------------------------------------------------
915 916 917 918 919 920 921 922 923
%package -n eos-srm
Summary: The EOS srm script package for checksumming and space
Group: Applications/File

Requires: eos-client

%description -n eos-srm
The EOS srm package.

924 925 926 927 928 929 930 931 932
%files -n eos-srm
%defattr(-, root, root, -)
%{_sbindir}/eos-srm-used-bytes
%{_sbindir}/eos-srm-max-bytes
%{_sbindir}/eos-srm-checksum

#-------------------------------------------------------------------------------
# Package eos-testkeytab
#-------------------------------------------------------------------------------
933 934 935 936 937 938
%package -n eos-testkeytab
Summary: The EOS testkeytab package
Group: Applications/File

%description -n eos-testkeytab
Contains an example keytab file.
939

940
%files -n eos-testkeytab
941
%config(noreplace) %attr(-, daemon, daemon) %{_sysconfdir}/eos.keytab
942

943 944 945
#-------------------------------------------------------------------------------
# Package eos-archive only for >= SLC6
#-------------------------------------------------------------------------------
946
%if 0%{?rhel} >= 6
947 948 949
%package -n eos-archive
Summary: The EOS archive daemon
Group: Applications/File
950

951
Requires: python-daemon python-zmq
952 953 954 955 956 957

# ----------------------
# select xrootd package
# ----------------------
%if %{?_with_eos_xrootd_rh:1}%{!?_with_eos_xrootd_rh:0}
# Install eos-xrootd
958
%if 0%{?distribution} == 7
959
Requires: eos-xrootd == %{eos_xrootd_version_min}
960
%else
961
Requires: xrootd-python >= %{xrootd_version_min}
962 963 964 965 966
%endif
%else
Requires: xrootd-python >= %{xrootd_version_min}
%endif

967 968 969 970
%description -n eos-archive
The EOS archive daemon.

%files -n eos-archive
971
%defattr(-, eosarchi, c3, -)
972 973 974
%{_bindir}/eosarchived.py
%{_bindir}/eosarch_run.py
%{_bindir}/eosarch_reconstruct.py
975
%{python_sitelib}/eosarch*
976
%config(noreplace) %{_sysconfdir}/eosarchived.conf
977 978 979 980
%if %{use_systemd}
%{_prefix}/lib/systemd/system/eosarchived.service
%config(noreplace) %{_sysconfdir}/sysconfig/eosarchived_env
%else
981
%{_sysconfdir}/rc.d/init.d/eosarchived
982 983 984
%config(noreplace) %{_sysconfdir}/sysconfig/eosarchived
%endif
%dir %attr(755,eosarchi,c3) %{_localstatedir}/eos/archive/
985
%dir %attr(755,eosarchi,c3) %{_localstatedir}/log/eos/archive/
986

987 988 989 990 991
%pre -n eos-archive
echo "Make sure eosarchi user and c3 group exist"
getent group c3 >/dev/null 2>&1 || groupadd -r -g 1028 c3
getent passwd eosarchi >/dev/null 2>&1 || useradd -r -u 72811 eosarchi

992
%post -n eos-archive
993 994 995 996
case "$1" in
  1)
    # Initial installation
    echo "Starting EOS archive services"
997 998 999 1000 1001 1002 1003
    %if %{use_systemd}
      systemctl daemon-reload > /dev/null 2>&1 || :
      systemctl restart eosarchived > /dev/null 2>&1 || :
    %else
      /sbin/chkconfig --add eosarchived
      /sbin/service eosarchived restart > /dev/null 2>&1 || :
    %endif
1004 1005 1006
  ;;
  2)
    # Upgrade
1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017
    %if %{use_systemd}
      echo "Restarting EOS archive services"
      systemctl daemon-reload > /dev/null 2>&1 || :
      systemctl restart eosarchived > /dev/null 2>&1 || :
    %else
      echo "Stopping EOS archive services"
      /sbin/service eosarchived stop > /dev/null 2>&1 || :
      # In case runlevels changed
      /sbin/chkconfig --del eosarchived
      /sbin/chkconfig --add eosarchived
    %endif
1018 1019 1020 1021 1022 1023
  ;;
esac

%preun -n eos-archive
case "$1" in
  0)
1024
    # Uninstall
1025
    echo "Stopping EOS archive services"
1026 1027 1028 1029 1030 1031
    %if %{use_systemd}
      systemctl stop eosarchived > /dev/null 2>&1 || :
    %else
      /sbin/service eosarchived stop > /dev/null 2>&1 || :
      /sbin/chkconfig --del eosarchived || :
    %endif
1032 1033 1034
  ;;
  1)
    # Upgrade
1035 1036 1037 1038
    %if %{use_systemd} == 0
      echo "Starting EOS archive services"
      /sbin/service eosarchived restart > /dev/null 2>&1 || :
    %endif
1039 1040
  ;;
esac
1041

1042
%endif
1043

1044 1045 1046
#-------------------------------------------------------------------------------
# Package eos-test
#-------------------------------------------------------------------------------
1047 1048 1049 1050
%package -n eos-test
Summary: The EOS test package
Group: Applications/File

1051
Requires: cadaver bc davix jq dmidecode
1052 1053

%description -n eos-test
1054
Contains an instance and fuse test script and some test executables and test archives.
1055

1056
%files -n eos-test
1057
%defattr(-, root, root, -)
1058

1059 1060
%{_bindir}/eos-mq-dumper
%{_bindir}/eos-mq-feeder
1061 1062
%{_bindir}/eos-grpc-ping
%{_bindir}/eos-grpc-md
1063
%{_bindir}/eos-grpc-ns
1064
%{_bindir}/eos-grpc-insert
1065
%{_sbindir}/eos-mq-tests
1066
%{_sbindir}/eos-instance-test
1067
%{_sbindir}/eos-instance-test-ci
1068
%{_sbindir}/eos-rain-test
1069
%{_sbindir}/eos-drain-test
1070
%{_sbindir}/eos-fsck-test
1071
%{_sbindir}/eos-rename-test
1072
%{_sbindir}/eos-grpc-test
1073
%{_sbindir}/eos-token-test
Elvin Sindrilaru's avatar
Elvin Sindrilaru committed
1074
%{_sbindir}/eos-http-upload-test
1075
%{_sbindir}/eoscp-rain-test
1076
%{_sbindir}/eos-fuse-test
1077
%{_sbindir}/eos-fusex-tests
1078
%{_sbindir}/eos-fst-test
1079
%{_sbindir}/eos-oc-test
1080
%{_sbindir}/fusex-benchmark
1081
%{_sbindir}/eos-fusex-certify
1082
%{_sbindir}/eos-fusex-ioverify
1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093
%{_sbindir}/xrdcpabort
%{_sbindir}/xrdcpappend
%{_sbindir}/xrdcpposixcache
%{_sbindir}/xrdcpextend
%{_sbindir}/xrdcpholes
%{_sbindir}/xrdcpbackward
%{_sbindir}/xrdcpdownloadrandom
%{_sbindir}/xrdcprandom
%{_sbindir}/xrdcpshrink
%{_sbindir}/xrdcptruncate
%{_sbindir}/xrdcppartial
1094
%{_sbindir}/xrdcpslowwriter
1095 1096 1097 1098
%{_sbindir}/xrdstress
%{_sbindir}/xrdstress.exe
%{_sbindir}/eos-io-test
%{_sbindir}/eos-io-tool
1099 1100
%{_sbindir}/eos-unit-tests
%{_sbindir}/eos-fst-unit-tests
1101
%{_sbindir}/eos-ns-quarkdb-tests
1102 1103
%attr(444,daemon,daemon) %{_localstatedir}/eos/test/fuse/untar/untar.tgz
%attr(444,daemon,daemon) %{_localstatedir}/eos/test/fuse/untar/xrootd.tgz
1104 1105 1106
%if %{?_with_asan:1}%{!?_with_asan:0}
%attr(644,daemon,daemon) %{_localstatedir}/eos/test/LeakSanitizer.supp
%endif
1107

1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125
%if %{?_with_coverage:1}%{!?_with_coverage:0}
#-------------------------------------------------------------------------------
# Package eos-coverage
#-------------------------------------------------------------------------------
%package -n eos-coverage

Summary: The EOS coverage package
Group: Applications/File

%description -n eos-coverage
Contains all the ".gcno" files needed to produce coverage data for EOS server.

%files -n eos-coverage
%defattr(-, root, root, -)

%attr(755,daemon,daemon) %{_localstatedir}/eos/coverage/
%endif

1126 1127 1128
#-------------------------------------------------------------------------------
# Package eos-cleanup
#-------------------------------------------------------------------------------
1129
%package -n eos-cleanup
1130

1131 1132 1133 1134
Summary: The EOS test package
Group: Applications/File

%description -n eos-cleanup
1135 1136
Contains an clean-up scripts to remove 'left-overs' of an EOS instance for FST/MGM/FUSE etc.

1137
%files -n eos-cleanup
1138 1139 1140 1141 1142
%defattr(-, root, root, -)
%{_sbindir}/eos-uninstall
%{_sbindir}/eos-log-clean
%{_sbindir}/eos-fst-clean
%{_sbindir}/eos-mgm-clean
1143

1144
%if %{?yumrpm:1}%{!?yumrpm:0} == 1
1145 1146 1147 1148 1149
#-------------------------------------------------------------------------------
# Package eos-repo-el6
#-------------------------------------------------------------------------------
%package -n eos-repo-el6

1150
Version: generic
1151 1152 1153
Release: 1
BuildArch: noarch

1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168
Summary: The EOS YUM repo configuration for EL6
Group: Applications/File

%description -n eos-repo-el6
Contains a yum configuration file for the production EOS EL6 repo

%files -n eos-repo-el6
%defattr(-, root, root, -)
%{_sysconfdir}/yum.repos.d/eos-el6.repo

#-------------------------------------------------------------------------------
# Package eos-repo-el7
#-------------------------------------------------------------------------------
%package -n eos-repo-el7

1169
Version: generic
1170 1171 1172
Release: 1
BuildArch: noarch

1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187
Summary: The EOS YUM repo configuration for EL7
Group: Applications/File

%description -n eos-repo-el7
Contains a yum configuration file for the production EOS EL7 repo

%files -n eos-repo-el7
%defattr(-, root, root, -)
%{_sysconfdir}/yum.repos.d/eos-el7.repo

#-------------------------------------------------------------------------------
# Package eos-repo-el6-dev
#-------------------------------------------------------------------------------
%package -n eos-repo-el6-dev

1188
Version: generic
1189 1190 1191
Release: 1
BuildArch: noarch

1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206
Summary: The EOS developement YUM repo configuration for EL6
Group: Applications/File

%description -n eos-repo-el6-dev
Contains a yum configuration file for the development EOS EL6 repo

%files -n eos-repo-el6-dev
%defattr(-, root, root, -)
%{_sysconfdir}/yum.repos.d/eos-el6-dev.repo

#-------------------------------------------------------------------------------
# Package eos-repo-el7-dev
#-------------------------------------------------------------------------------
%package -n eos-repo-el7-dev

1207
Version: generic
1208 1209 1210
Release: 1
BuildArch: noarch

1211 1212 1213 1214 1215 1216 1217 1218 1219
Summary: The EOS development YUM repo configuration for EL7
Group: Applications/File

%description -n eos-repo-el7-dev
Contains a yum configuration file for the development EOS EL7 repo

%files -n eos-repo-el7-dev
%defattr(-, root, root, -)
%{_sysconfdir}/yum.repos.d/eos-el7-dev.repo
1220
%endif
1221
%endif