# 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 BuildRequires: zeromq3-devel >= 3.2.5 BuildRequires: openssl-devel >= 1.0.1e BuildRequires: cryptopp-devel >= 5.6.2 BuildRequires: libuuid-devel >= 2.17 BuildRequires: json-c-devel >= 0.11 BuildRequires: libattr-devel >= 2.4.44 BuildRequires: oracle-instantclient12.1-devel # 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 Requires: oracle-instantclient12.1-basic %description -n cta-lib CERN Tape Archive: The shared libraries %files -n cta-lib %defattr(-,root,root) %attr(0755,root,root) %{_libdir}/libctacatalogue.so %attr(0755,root,root) %{_libdir}/libctacommon.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}/libctardbms.so %attr(0755,root,root) %{_libdir}/libctatapereactorutils.so %attr(0755,root,root) %{_libdir}/libctatapeserverdaemonutils.so %attr(0644,root,root) %{_sysconfdir}/cta/cta_catalogue_db.conf.example %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 %doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_oracle_catalogue_schema.sql %doc %{_datarootdir}/%{name}-%{ctaVersion}/sql/create_sqlite_catalogue_schema.sql %package -n cta-systemtests Summary: CERN Tape Archive: unit and system tests with virtual tape drives Group: Application/CTA Requires: valgrind >= 3.8.1 Requires: cta-taped = %{ctaVersion}-%{ctaRelease}%{mydist} %description -n cta-systemtests CERN Tape Archive: 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 %attr(0755,root,root) %{_libdir}/libcta-tapedSystemTests.so %attr(0755,root,root) %{_bindir}/cta-catalogueUnitTests %attr(0755,root,root) %{_bindir}/cta-unitTests %attr(0755,root,root) %{_bindir}/cta-unitTests-multiProcess %attr(0755,root,root) %{_bindir}/cta-valgrindUnitTests.sh %attr(0755,root,root) %{_bindir}/cta-unitPlusSystemTests.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}/libctainmemorycatalogueunittests.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}/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(0755,root,root) %{_libdir}/libctadaemonunittests.so %attr(0755,root,root) %{_bindir}/cta-systemTests %attr(0755,root,root) %{_libdir}/libctadaemonunittests-multiprocess.so %attr(0644,root,root) %{_datadir}/%{name}-%{ctaVersion}/unittest/*.suppr