# 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 BuildRequires: cmake >= 2.6 redhat-rpm-config BuildRequires: xrootd-client-devel >= 4.2.3 xrootd-devel >= 4.2 BuildRequires: xrootd-server-devel >= 4.2 xrootd-private-devel >= 4.2 BuildRequires: ceph-devel >= 0.87 BuildRequires: protobuf-compiler >= 2.3.0 protobuf-devel >= 2.3.0 BuildRequires: gmock-devel >= 1.5.0 gtest-devel >= 1.5.0 BuildRequires: sqlite-devel >= 3.6 BuildRequires: libcap-devel >= 2.16 BuildRequires: binutils-devel >= 2.20 # 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 %{__make} shortunittests %endif # The packages will be cta-tapeserver, cta-frontend, cta-cli %package -n cta-taped Summary: CERN Tape Archive: tape daemon Group: Application/CTA requires: cta-lib %description -n cta-taped CERN Tape Archive: The tape server daemon %files -n cta-taped %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/cta-taped %attr(0755,root,root) %{_libdir}/libctamessages.so %package -n cta-frontend Summary: CERN Tape Archive: Xrootd plugin Group: Application/CTA requires: cta-lib %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 %package -n cta-cli Summary: CERN Tape Archive: command line interface 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 %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 %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