%global __brp_check_rpaths %{nil} %global __requires_exclude ^libmpi %global packname geoflow %global packver 1.0.0 %global rlibdir /usr/local/lib/R/library Name: R-CRAN-%{packname} Version: 1.0.0 Release: 1%{?dist}%{?buildtag} Summary: Orchestrate Geospatial (Meta)Data Management Workflows and Manage FAIR Services License: MIT + file LICENSE URL: https://cran.r-project.org/package=%{packname} Source0: %{url}&version=%{packver}#/%{packname}_%{packver}.tar.gz BuildRequires: R-devel >= 3.3 Requires: R-core >= 3.3 BuildArch: noarch BuildRequires: R-CRAN-geometa >= 0.9 BuildRequires: R-CRAN-R6 BuildRequires: R-methods BuildRequires: R-CRAN-dotenv BuildRequires: R-CRAN-benchmarkme BuildRequires: R-CRAN-httr BuildRequires: R-CRAN-mime BuildRequires: R-CRAN-jsonlite BuildRequires: R-CRAN-yaml BuildRequires: R-CRAN-XML BuildRequires: R-CRAN-xml2 BuildRequires: R-CRAN-rdflib BuildRequires: R-CRAN-curl BuildRequires: R-CRAN-whisker BuildRequires: R-CRAN-digest BuildRequires: R-CRAN-dplyr BuildRequires: R-CRAN-readr BuildRequires: R-CRAN-arrow BuildRequires: R-CRAN-zip BuildRequires: R-CRAN-png BuildRequires: R-CRAN-uuid BuildRequires: R-CRAN-sf BuildRequires: R-CRAN-sfarrow BuildRequires: R-CRAN-terra BuildRequires: R-CRAN-geosapi BuildRequires: R-CRAN-geonapi BuildRequires: R-CRAN-geonode4R BuildRequires: R-CRAN-ows4R Requires: R-CRAN-geometa >= 0.9 Requires: R-CRAN-R6 Requires: R-methods Requires: R-CRAN-dotenv Requires: R-CRAN-benchmarkme Requires: R-CRAN-httr Requires: R-CRAN-mime Requires: R-CRAN-jsonlite Requires: R-CRAN-yaml Requires: R-CRAN-XML Requires: R-CRAN-xml2 Requires: R-CRAN-rdflib Requires: R-CRAN-curl Requires: R-CRAN-whisker Requires: R-CRAN-digest Requires: R-CRAN-dplyr Requires: R-CRAN-readr Requires: R-CRAN-arrow Requires: R-CRAN-zip Requires: R-CRAN-png Requires: R-CRAN-uuid Requires: R-CRAN-sf Requires: R-CRAN-sfarrow Requires: R-CRAN-terra Requires: R-CRAN-geosapi Requires: R-CRAN-geonapi Requires: R-CRAN-geonode4R Requires: R-CRAN-ows4R %description An engine to facilitate the orchestration and execution of metadata-driven data management workflows, in compliance with 'FAIR' (Findable, Accessible, Interoperable and Reusable) data management principles. By means of a pivot metadata model, relying on the 'DublinCore' standard (), a unique source of metadata can be used to operate multiple and inter-connected data management actions. Users can also customise their own workflows by creating specific actions but the library comes with a set of native actions targeting common geographic information and data management, in particular actions oriented to the publication on the web of metadata and data resources to provide standard discovery and access services. At first, default actions of the library were meant to focus on providing turn-key actions for geospatial (meta)data: 1) by creating manage geospatial (meta)data complying with 'ISO/TC211' () and 'OGC' () geographic information standards (eg 19115/19119/19110/19139) and related best practices (eg. 'INSPIRE'); and 2) by facilitating extraction, reading and publishing of standard geospatial (meta)data within widely used software that compound a Spatial Data Infrastructure ('SDI'), including spatial databases (eg. 'PostGIS'), metadata catalogues (eg. 'GeoNetwork', 'CSW' servers), data servers (eg. 'GeoServer'). The library was then extended to actions for other domains: 1) biodiversity (meta)data standard management including handling of 'EML' metadata, and their management with 'DataOne' servers, 2) in situ sensors, remote sensing and model outputs (meta)data standard management by handling part of 'CF' conventions, 'NetCDF' data format and 'OPeNDAP' access protocol, and their management with 'Thredds' servers, 3) generic / domain agnostic (meta)data standard managers ('DublinCore', 'DataCite'), to facilitate the publication of data within (meta)data repositories such as 'Zenodo' () or DataVerse (). The execution of several actions will then allow to cross-reference (meta)data resources in each action performed, offering a way to bind resources between each other (eg. reference 'Zenodo' 'DOI' in 'GeoNetwork'/'GeoServer' metadata, or vice versa reference 'GeoNetwork'/'GeoServer' links in 'Zenodo' or 'EML' metadata). The use of standardized configuration files ('JSON' or 'YAML' formats) allow fully reproducible workflows to facilitate the work of data and information managers. %prep %setup -q -c -n %{packname} # fix end of executable files find -type f -executable -exec grep -Iq . {} \; -exec sed -i -e '$a\' {} \; # prevent binary stripping [ -d %{packname}/src ] && find %{packname}/src -type f -exec \ sed -i 's@/usr/bin/strip@/usr/bin/true@g' {} \; || true [ -d %{packname}/src ] && find %{packname}/src/Make* -type f -exec \ sed -i 's@-g0@@g' {} \; || true # don't allow local prefix in executable scripts find -type f -executable -exec sed -Ei 's@#!( )*/usr/local/bin@#!/usr/bin@g' {} \; %build %install mkdir -p %{buildroot}%{rlibdir} %{_bindir}/R CMD INSTALL -l %{buildroot}%{rlibdir} %{packname} test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so) rm -f %{buildroot}%{rlibdir}/R.css # remove buildroot from installed files find %{buildroot}%{rlibdir} -type f -exec sed -i "s@%{buildroot}@@g" {} \; %files %{rlibdir}/%{packname}