%define major 0 %define libname %mklibname gfal2 %{major} %define develname %mklibname gfal2 -d %bcond_with tests Name: gfal2 Version: 2.21.1 Release: %mkrel 1 Summary: Grid file access library 2.0 License: ASL 2.0 URL: http://dmc.web.cern.ch/projects/gfal-2/home # git clone --depth=1 --branch master https://gitlab.cern.ch/dmc/gfal2.git gfal2-2.14.1 # pushd gfal2-2.15.1 # git checkout v2.15.1 # popd # tar czf gfal2-2.15.1.tar.gz --exclude-vcs gfal2-2.15.1 Source0: https://github.com/cern-fts/gfal2/archive/refs/tags/v%{version}.tar.gz Group: Networking/Other #main lib dependencies BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: doxygen BuildRequires: json-c-devel BuildRequires: pkgconfig(glib-2.0) >= 2.28 BuildRequires: libattr-devel BuildRequires: openldap-devel BuildRequires: pkgconfig(pugixml) BuildRequires: libuuid-devel #file plugin dependencies BuildRequires: zlib-devel #lfc plugin dependencies BuildRequires: lfc-devel #rfio plugin dependencies BuildRequires: dpm-devel #srm plugin dependencies BuildRequires: pkgconfig(srm-ifce) >= 1.23.1 #dcap plugin dependencies BuildRequires: dcap-devel #gridftp plugin dependencies BuildRequires: globus-gass-copy-devel #http plugin dependencies BuildRequires: pkgconfig(davix) >= 0.8.3 #xrootd plugin dependencies BuildRequires: xrootd-client-devel >= 5.0.2 # sftp plugin dependencies BuildRequires: libssh2-devel #tests dependencies BuildRequires: gtest-devel Obsoletes: %{name}-core < %{version}-%{release} Provides: %{name}-core = %{version}-%{release} Obsoletes: %{name}-transfer < %{version}-%{release} Provides: %{name}-transfer = %{version}-%{release} %description GFAL 2.0 offers an a single and simple POSIX-like API for the file operations in grids and cloud environments. The set of supported protocols depends of the %{name} installed plugins. %package -n %{libname} Summary: Grid file access library 2.0 Provides: %{name} = %{version}-%{release} Group: Development/Other %description -n %{libname} GFAL 2.0 offers an a single and simple POSIX-like API for the file operations in grids and cloud environments. The set of supported protocols depends of the %{name} installed plugins. %package -n %{develname} Summary: Development files of %{name} Provides: %{name}-devel = %{version}-%{release} Requires: %{name} = %{version}-%{release} Requires: glib2-devel Requires: pkgconfig(libattr) Requires: pkgconfig %description -n %{develname} development files for %{name} %package doc Summary: Documentation for %{name} %if 0%{?fedora} > 10 || 0%{?rhel}>5 BuildArch: noarch %endif %description doc Documentation, Doxygen and examples of %{name}. %package plugin-file Summary: Provides file support for %{name} Requires: %{name} = %{version}-%{release} %description plugin-file Provides the file support (file://) for %{name}. The file plugin provides local file operations, as copying from local to remote or the other way around. %package plugin-lfc Summary: Provides the lfc support for %{name} Requires: %{name} = %{version}-%{release} %description plugin-lfc Provides the lfc support (lfn://) for %{name}. The LFC plugin allows read-only POSIX operations for the LFC catalog. %package plugin-rfio Summary: Provides the rfio support for %{name} Requires: %{name} = %{version}-%{release} Requires: dpm-libs %description plugin-rfio Provides the rfio support (rfio://) for %{name}. The rfio plugin provides the POSIX operations for the rfio URLs, the rfio protocol is used on the DPM and on the Castor storage systems. %package plugin-dcap Summary: Provides the support access for %{name} Requires: %{name} = %{version}-%{release} Requires: dcap-tunnel-gsi %description plugin-dcap Provides the dcap support (gsidcap://, dcap://) for %{name}. The dcap plugin provides the POSIX operations for the dcap \ URLs, the dcap protocol is used on the DCACHE storage system %package plugin-srm Summary: Provides the srm access for %{name} Requires: %{name} = %{version}-%{release} Requires: srm-ifce >= 1.23.1 %description plugin-srm Provides the srm support (srm://) for %{name}. The srm plugin provides the POSIX operations and the third party transfer support on the SRM URLs. %package plugin-gridftp Summary: Provides the gridftp support for %{name} Requires: %{name} = %{version}-%{release} %description plugin-gridftp Provides the gridftp support (gsiftp://) for %{name}. The gridftp plugin provides the POSIX operations and the third party transfer support on the GSIFTP URLs. %package plugin-http Summary: Provides the HTTP/DAV support for %{name} Requires: %{name} = %{version}-%{release} Requires: davix-libs >= 0.6.8 %description plugin-http Provides the HTTP (http[s]://) and WevDAV (dav[s]://) support for %{name}. this plugin is able to do third-party copy with WebDAV if the storage supports it. %package plugin-xrootd Summary: Provide xrootd support for GFAL2 Requires: %{name} = %{version}-%{release} %description plugin-xrootd The Grid File Access Library, GFAL2, provides a simple POSIX-like API for file operations in grid and cloud environments. Plug-ins are available to allow access via a variety of protocols. This package contains a plugin for the xrootd protocol (root://). %package plugin-sftp Summary: Provide sftp support for GFAL2 Requires: %{name} = %{version}-%{release} %description plugin-sftp The Grid File Access Library, GFAL2, provides a simple POSIX-like API for file operations in grid and cloud environments. Plug-ins are available to allow access via a variety of protocols. This package contains a plugin for the sftp protocol (sftp://). %package plugin-mock Summary: Provides a Mock dummy protocol for %{name} Requires: %{name} = %{version}-%{release} %description plugin-mock Provides a dummy mock:// protocol for %{name}. %package all Summary: Meta package for GFAL 2.0 install Requires: %{name} = %{version}-%{release} Requires: %{name}-plugin-file = %{version}-%{release} Requires: %{name}-plugin-rfio = %{version}-%{release} Requires: %{name}-plugin-lfc = %{version}-%{release} Requires: %{name}-plugin-dcap = %{version}-%{release} Requires: %{name}-plugin-srm = %{version}-%{release} Requires: %{name}-plugin-gridftp = %{version}-%{release} Requires: %{name}-plugin-http = %{version}-%{release} Requires: %{name}-plugin-xrootd = %{version}-%{release} Requires: %{name}-plugin-sftp = %{version}-%{release} %description all Meta-package for complete install of GFAL2 with all the protocol plugins. %package tests Summary: gfal2 tests Requires: gfal2-all = %{version}-%{release} Requires: gfal2-plugin-mock = %{version}-%{release} %description tests gfal2 tests %prep %setup -q %build # Make sure the version in the spec file and the version used # for building matches gfal2_cmake_ver=`sed -n 's/^set *(VERSION_\(MAJOR\|MINOR\|PATCH\) \+\([0-9]\+\).*/\2/p' CMakeLists.txt | paste -sd '.'` gfal2_spec_ver=`expr "%{version}" : '\([0-9]*\\.[0-9]*\\.[0-9]*\)'` if [ "$gfal2_cmake_ver" != "$gfal2_spec_ver" ]; then echo "The version in the spec file does not match the CMakeLists.txt version!" echo "$gfal2_cmake_ver != %{version}" exit 1 fi %cmake \ -DDOC_INSTALL_DIR=%{_pkgdocdir} \ -DUNIT_TESTS=TRUE \ -DPLUGIN_MOCK=TRUE \ -DFUNCTIONAL_TESTS=%{?with_tests:ON}%{?!with_tests:OFF} %cmake_build %check export GFAL_PLUGIN_DIR=${PWD}/plugins/ export GFAL_CONFIG_DIR=${PWD}/test/conf_test/ export LD_LIBRARY_PATH=${PWD}/src/core:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${PWD}/plugins:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH=${PWD}/test/common:${LD_LIBRARY_PATH} cd test/unit ctest -V %install %cmake_install %files -n %{libname} %{_bindir}/gfal2_version %{_libdir}/libgfal2.so.* %{_libdir}/libgfal_transfer.so.* %dir %{_libdir}/%{name}-plugins %dir %{_sysconfdir}/%{name}.d %config(noreplace) %{_sysconfdir}/%{name}.d/bdii.conf %config(noreplace) %{_sysconfdir}/%{name}.d/gfal2_core.conf %config(noreplace) %{_sysconfdir}/%{name}.d/x509.conf %{_mandir}/man1/gfal2_version.1* %dir %{_pkgdocdir} %{_pkgdocdir}/DESCRIPTION %{_pkgdocdir}/README.md %{_pkgdocdir}/LICENSE %{_pkgdocdir}/RELEASE-NOTES %files -n %{develname} %{_includedir}/%{name}/ %{_libdir}/pkgconfig/gfal2.pc %{_libdir}/pkgconfig/gfal_transfer.pc %{_libdir}/libgfal2.so %{_libdir}/libgfal_transfer.so %files doc %{_pkgdocdir}/readme.html %{_pkgdocdir}/html/ %{_pkgdocdir}/examples/ %files plugin-file %{_libdir}/%{name}-plugins/libgfal_plugin_file.so* %{_pkgdocdir}/README_PLUGIN_FILE %files plugin-lfc %{_libdir}/%{name}-plugins/libgfal_plugin_lfc.so* %{_pkgdocdir}/README_PLUGIN_LFC %config(noreplace) %{_sysconfdir}/%{name}.d/lfc_plugin.conf %files plugin-rfio %{_libdir}/%{name}-plugins/libgfal_plugin_rfio.so* %{_pkgdocdir}/README_PLUGIN_RFIO %config(noreplace) %{_sysconfdir}/%{name}.d/rfio_plugin.conf %files plugin-dcap %{_libdir}/%{name}-plugins/libgfal_plugin_dcap.so* %{_pkgdocdir}/README_PLUGIN_DCAP %config(noreplace) %{_sysconfdir}/%{name}.d/dcap_plugin.conf %files plugin-srm %{_libdir}/%{name}-plugins/libgfal_plugin_srm.so* %{_pkgdocdir}/README_PLUGIN_SRM %config(noreplace) %{_sysconfdir}/%{name}.d/srm_plugin.conf %files plugin-gridftp %{_libdir}/%{name}-plugins/libgfal_plugin_gridftp.so* %{_pkgdocdir}/README_PLUGIN_GRIDFTP %config(noreplace) %{_sysconfdir}/%{name}.d/gsiftp_plugin.conf %files plugin-http %{_libdir}/%{name}-plugins/libgfal_plugin_http.so* %{_pkgdocdir}/README_PLUGIN_HTTP %config(noreplace) %{_sysconfdir}/%{name}.d/http_plugin.conf %files plugin-xrootd %{_libdir}/%{name}-plugins/libgfal_plugin_xrootd.so* %{_pkgdocdir}/README_PLUGIN_XROOTD %config(noreplace) %{_sysconfdir}/%{name}.d/xrootd_plugin.conf %files plugin-sftp %{_libdir}/%{name}-plugins/libgfal_plugin_sftp.so* %{_pkgdocdir}/README_PLUGIN_SFTP %config(noreplace) %{_sysconfdir}/%{name}.d/sftp_plugin.conf %files plugin-mock %{_libdir}/%{name}-plugins/libgfal_plugin_mock.so* %{_pkgdocdir}/README_PLUGIN_MOCK %config(noreplace) %{_sysconfdir}/%{name}.d/mock_plugin.conf %files tests %{_bindir}/gfal2-unit-tests %if %{?_with_tests:1}%{!?_with_tests:0} %{_datadir}/gfal2/tests/* %endif %{_libdir}/libgfal2_test_shared.so %files all %changelog * Mon Oct 03 2022 joequant <joequant> 2.21.1-1.mga9 + Revision: 1894426 - update to 2.21.1 + neoclust <neoclust> - Rebuild against new openldap + umeabot <umeabot> - Mageia 9 Mass Rebuild * Mon Nov 30 2020 luigiwalser <luigiwalser> 2.18.1-2.mga8 + Revision: 1650727 - rebuild for json-c * Tue Oct 06 2020 tv <tv> 2.18.1-1.mga8 + Revision: 1632322 - 2.18.1 - rebuild for new xrootd * Tue Apr 28 2020 joequant <joequant> 2.17.2-1.mga8 + Revision: 1573009 - fix up groups - fix provides - imported package gfal2