Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > 850e08623a93978927cbb5252bdf246c > files > 1

gfal2-2.21.1-1.mga9.src.rpm

%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