pax_global_header 0000666 0000000 0000000 00000000064 14652400145 0014513 g ustar 00root root 0000000 0000000 52 comment=205bc9307331d3d8da210a678d60bacaa7846525
gfal2-v2.23.0/ 0000775 0000000 0000000 00000000000 14652400145 0012760 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/.gitignore 0000664 0000000 0000000 00000000305 14652400145 0014746 0 ustar 00root root 0000000 0000000 .idea
.project
.cproject
.settings
*.rpm
*.tar.gz
*.gz
*.dsc
*.o
*.a
*.so
*.pc
CMakeCache.txt
**/Makefile
**/CMakeFiles
DartConfiguration.tcl
doc/Doxyfile
install_manifest.txt
#build folder
build
gfal2-v2.23.0/.gitlab-ci.yml 0000664 0000000 0000000 00000005716 14652400145 0015425 0 ustar 00root root 0000000 0000000 stages:
- build
- test
- publish
#--------------------------
# Build templates
#--------------------------
.build-template: &build-template_definition
stage: build
script:
- ci/fedora-packages.sh
- ci/common-rpm-build.sh
- mkdir ${CI_JOB_NAME}
- cp -rv build/RPMS build/SRPMS ${CI_JOB_NAME}
- tree ${CI_JOB_NAME}
variables:
BRANCH: ${CI_COMMIT_REF_NAME}
artifacts:
paths:
- "$CI_JOB_NAME"
#--------------------------
# Build jobs
#--------------------------
alma8:
image: gitlab-registry.cern.ch/linuxsupport/alma8-base
<<: *build-template_definition
alma9:
image: gitlab-registry.cern.ch/linuxsupport/alma9-base
<<: *build-template_definition
fedora-39:
image: fedora:39
<<: *build-template_definition
fedora-40:
image: fedora:40
<<: *build-template_definition
fedora-rawhide:
image: fedora:rawhide
<<: *build-template_definition
allow_failure: true
#--------------------------
# Test templates
#--------------------------
.test-template: &test-template_definition
stage: test
script:
- dnf install -y git
- PLATFORM=${CI_JOB_NAME%-*}
- ci/write-repo-file.sh
- dnf install -y ${PLATFORM}/RPMS/*/*.rpm
- gfal2-unit-tests
variables:
BRANCH: ${CI_COMMIT_REF_NAME}
#--------------------------
# Test jobs
#--------------------------
alma8-test:
image: gitlab-registry.cern.ch/linuxsupport/alma8-base
needs:
- job: alma8
before_script:
- dnf install -y epel-release
<<: *test-template_definition
alma9-test:
image: gitlab-registry.cern.ch/linuxsupport/alma9-base
needs:
- job: alma9
before_script:
- dnf install -y epel-release
<<: *test-template_definition
fedora-39-test:
image: fedora:39
needs:
- job: fedora-39
<<: *test-template_definition
fedora-40-test:
image: fedora:40
needs:
- job: fedora-40
<<: *test-template_definition
#--------------------------
# Publish jobs
#--------------------------
rpms:
stage: publish
image: gitlab-registry.cern.ch/eos/gitlab-eos/alma9:latest
dependencies:
- alma8
- alma9
- fedora-39
- fedora-40
- fedora-rawhide
script:
- automount
- cat "${repo_passwd}" | kinit "${repo_user}"
- |
for platform in alma8 alma9 fedora-39 fedora-40 fedora-rawhide; do
if [[ "${platform}" == "fedora-rawhide" ]] && [[ ! -d ${platform} ]] ; then
echo "Skipping ${platform} packages..." ;
continue ;
fi
packaging/gfal2-repo-manager.py --action add --base /eos/project-d/dmc/www/repos/ --ref ${CI_COMMIT_REF_NAME} --packages ${platform}/RPMS/*/*.rpm ${platform}/SRPMS/*
done
- sleep 30
rules:
- if: '$CI_PROJECT_NAMESPACE != "dmc"'
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
when: never
- if: '$CI_COMMIT_REF_NAME == "develop" || $CI_COMMIT_TAG != null'
- if: '$CI_COMMIT_REF_NAME != "develop" && $CI_COMMIT_TAG == null'
when: manual
tags:
- docker-privileged-xl
retry: 2
gfal2-v2.23.0/.gitmodules 0000664 0000000 0000000 00000000000 14652400145 0015123 0 ustar 00root root 0000000 0000000 gfal2-v2.23.0/CMakeLists.txt 0000664 0000000 0000000 00000006723 14652400145 0015530 0 ustar 00root root 0000000 0000000 ## cmake build script for srm-ifce
project (gfal2)
cmake_minimum_required (VERSION 2.6)
message ("cmake source dir : ${CMAKE_SOURCE_DIR}")
# default set of options
set (MAIN_CORE TRUE CACHE STRING "enable compilation of the main library")
set (MAIN_TRANSFER TRUE CACHE STRING "enable compilation of the transfer library")
set (PLUGIN_SFTP TRUE CACHE STRING "enable compilation of the sftp plugin")
set (PLUGIN_SRM TRUE CACHE STRING "enable compilation of the srm plugin")
set (PLUGIN_DCAP TRUE CACHE STRING "enable compilation of the DCAP plugin")
set (PLUGIN_FILE TRUE CACHE STRING "enable compilation of the local File plugin")
set (PLUGIN_GRIDFTP TRUE CACHE STRING "enable compilation of the GRIDFTP plugin")
set (PLUGIN_HTTP TRUE CACHE STRING "enable compilation of the HTTP plugin")
set (PLUGIN_XROOTD TRUE CACHE STRING "enable compilation of the XROOTD plugin")
set (PLUGIN_MOCK FALSE CACHE STRING "enable compilation of the MOCK plugin")
# Deprecated / unsupported protocols after CC7
set (PLUGIN_LFC FALSE CACHE STRING "enable compilation of the lfc plugin")
set (PLUGIN_RFIO FALSE CACHE STRING "enable compilation of the RFIO plugin")
# build type
set (CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "type of build")
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules/")
# load modules
include(DefineInstallationPaths REQUIRED)
include(MacroCopyFile REQUIRED)
include(ReleaseDebugAutoFlags REQUIRED)
include(CMakeGeneratePkgConfig REQUIRED)
include(MacroAddDoxygen REQUIRED)
include(CMakeCXX11Support REQUIRED)
# Enable C++11 support
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAG_ENABLE}")
# enable testing
include (CTest)
#define PROJECT vars
set (PROJECT_NAME_MAIN "gfal2")
set (OUTPUT_NAME_MAIN "gfal2")
set (PROJECT_NAME_TRANSFER "gfal_transfer")
set (OUTPUT_NAME_TRANSFER "gfal_transfer")
set (VERSION_MAJOR 2)
set (VERSION_MINOR 23)
set (VERSION_PATCH 0)
set (VERSION_STRING ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
add_definitions(-DVERSION="${VERSION_STRING}")
# out of project test compilation
set (ONLY_TESTS FALSE CACHE STRING "build only the tests")
set (SKIP_TESTS FALSE CACHE STRING "skip the tests")
# libs checks
find_package (GLIB2 REQUIRED)
find_package (GTHREAD2 REQUIRED)
find_package (JSONC REQUIRED)
# include directories
include_directories (${GLIB2_INCLUDE_DIRS})
include_directories (${GTHREAD2_INCLUDE_DIRS})
include_directories (${CMAKE_SOURCE_DIR}/src/core)
include_directories (${CMAKE_SOURCE_DIR}/src/utils)
# Core and plugins
if (NOT ONLY_TESTS)
# general parameters for configuration
add_definitions ( -DGFAL_PLUGIN_DIR_DEFAULT="${PLUGIN_INSTALL_DIR}" )
add_definitions ( -DGFAL_CONFIG_DIR_DEFAULT="${SYSCONF_INSTALL_DIR}" )
# add file offset 64 for 32 bits
add_definitions ( -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_GNU_SOURCE)
#install doc license
install (FILES "LICENSE" "README.md" "RELEASE-NOTES" "DESCRIPTION" "readme.html"
DESTINATION ${DOC_INSTALL_DIR})
# install global configuration files
list (APPEND lst_conf_files
"${CMAKE_SOURCE_DIR}/dist/etc/gfal2.d/gfal2_core.conf"
"${CMAKE_SOURCE_DIR}/dist/etc/gfal2.d/bdii.conf"
"${CMAKE_SOURCE_DIR}/dist/etc/gfal2.d/x509.conf")
install (FILES ${lst_conf_files}
DESTINATION ${SYSCONF_INSTALL_DIR}/gfal2.d/)
add_subdirectory (doc)
add_subdirectory (src)
endif (NOT ONLY_TESTS)
if (NOT SKIP_TESTS)
add_subdirectory (test)
endif (NOT SKIP_TESTS)
gfal2-v2.23.0/DESCRIPTION 0000664 0000000 0000000 00000001031 14652400145 0014461 0 ustar 00root root 0000000 0000000 The Grid File Access Library 2.0 that offers a POSIX interface to the distributed files system supported by WLCG.
Official documentation : http://dmc.web.cern.ch/
Differents file systems are supported by a collections of GFAL 2.0's plugins, this is a non complete list :
- LFC ( Logical File catalog) with lfn:// url
- SRM ( Storage Resource Manager) with srm://
- RFIO ( remote file I/O) with rfio://
- DCAP ( remote ftp for Dcache ) with gsidcap://
- HTTP/Webdav with cluster, third party copy and client side credential support.
gfal2-v2.23.0/HOWTO-gfalPlugin 0000664 0000000 0000000 00000003666 14652400145 0015704 0 ustar 00root root 0000000 0000000 How to create a new method on a gfal plugin.
The example used here will be with adding a QoS method on the http plugin
You can checkout the commit doing so here: https://gitlab.cern.ch/dmc/gfal2/commit/87ca30684d1e85c59edafa7935e830b9006f054f
1) Choose the plugin you want to extend and create a new file that will hold the methods to be created
ex: a) Create the src/plugins/http/gfal_http_qos.cpp file
b) Create the gfal_http_check_classes method
2) The new method created has to be declared on the src/plugins/http/gfal_http_plugin.h file
3) Since this method will be a plugin method, it needs to be added to the interface of the plugins
here: src/core/common/gfal_plugin_interface.h
A new mode has to be created for it as well (check example at gfal_plugin_interface.h)
In our case, GFAL_PLUGIN_QOS_CHECK_CLASSES will have to be added
A new method to generically access this plugin function has to be declared on this file:
gfal_plugin_qos_check_classes in our case.
4) The aforementioned method has to be implemented on src/core/common/gfal_plugin.c
5) Since the methods before implement the functionality of distinguishing between plugins, another method has to be declared and used for generic
usage of what we want to do. This is done at src/core/file/gfal_file_api.h and src/core/file/gfal2_standard_file_operations.c
6) We finally need to define the actual plugin behavior when this method is requested. This is done at: src/plugins/http/gfal_http_plugin.cpp
There, is also defined if this plugin supports this specific behavior (GFAL_PLUGIN_QOS_CHECK_CLASSES in our case).
7) A functional test needs to be created in order to test these:
a) Create the test at: test/functional/gfal_test_qos.cpp
b) Declare the test at: test/functional/CMakeLists.txt and then test/functional/functional-test-parameters.cmake
Complete example at https://gitlab.cern.ch/dmc/gfal2/commit/87ca30684d1e85c59edafa7935e830b9006f054f gfal2-v2.23.0/LICENSE 0000664 0000000 0000000 00000005112 14652400145 0013764 0 ustar 00root root 0000000 0000000 Copyright (c) CERN 2013-2017
Copyright (c) Members of the EMI Collaboration. 2010-2013
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Members of the EMI Collaboration
--------------------------------
European Organization for Nuclear Research (CERN) Switzerland
Centro de Supercomputación de Galicia (CESGA) Spain
CESNET, zajmove sdruzeni pravnickych osob Czech Republic
CINECA - Consorzio Interuniversitario Italy
Agencia Estatal Consejo Superior de Investigaciones Cientificas (CSIC) Spain
Deutsches Elektronen-Synchrotron (DESY) Germany
Fundamenteel Onderzoek der Materie (FOM) The Netherlands
Forschungszentrum Jülich GmbH (FZJ) Germany
Greek Research and Technology Network SA (GRNET) Greece
Istituto Nazionale di Fisica Nucleare (INFN) Italy
Lunds Universitet (LU) Sweden
National Information Infrastructure Development Institute (NIIF) Hungary
Science and Technology Facilities Council (STFC) United Kingdom
Teleinformatikdienste fuer Lehre und Forschung (SWITCH) Switzerland
Trinity College Dublin (TCD) Ireland
Technische Universität Dresden (TUD) Germany
University of Copenhagen (UCPH) Denmark
University of Helsinki – Helsinki institute of Physics (UH.HIP) Finland
Universitetet i Oslo (UiO) Norway
Univerzita Pavla Jozefa Šafarika V Kosiciach (UPJS) Slovak Republic
Uppsala Universitet (UU) Sweden
Uniwersytet Warszawski (UWAR) Poland
Korea Institute of Science and Technology Information (KISTI) South Korea
Academia Sinica Grid Computing (ASGC) Taiwan
gfal2-v2.23.0/README.md 0000664 0000000 0000000 00000002571 14652400145 0014244 0 ustar 00root root 0000000 0000000 What is GFAL2 ?
===============
GFAL2 offers an a single and simple toolkit for the file operations in grids and cloud environments.
The set of supported protocols depends on the installed plugins.
Supported protocols :
* Local File
* SRM
* GSIFTP
* HTTP(S) , WebDav(s)
* XROOTD
* DCAP/GSIDCAP/KDCAP
* RFIO
* LFC
License
=======
GFAL2 is under the Apache License 2.0
Documentation
=============
See https://dmc-docs.web.cern.ch/dmc-docs/gfal2/gfal2.html for more details
Build
=====
## Install dependencies
On a clean SLCX/fedora/EL system the following 'extra' packages are needed to be installed:
```bash
yum install cmake doxygen glib2-devel libattr-devel openldap-devel zlib-devel lfc-devel dpm-devel srm-ifce-devel dcap-devel globus-gass-copy-devel davix-devel xrootd-client-devel libssh2-devel gtest-devel
```
Additionally, `e2fsprogs-devel` on SLC5, or `libuuid-devel` on higher versions.
## Compile
```bash
git clone https://gitlab.cern.ch/dmc/gfal2.git
cd gfal2
mkdir build
cd build
cmake ..
ccmake .. # configure the plugins that you need and enable the test if wished
make
```
## Installation
```bash
make install
```
## Tests
```bash
make test
```
## Contributions
Any contributions, patch or external plugins is welcome.
# Contact
dmc-devel@cern.ch or dmc-support@cern.ch
gfal2-v2.23.0/RELEASE-NOTES 0000664 0000000 0000000 00000131012 14652400145 0014647 0 ustar 00root root 0000000 0000000 GFAL2 RELEASE-NOTES
===================
## Wed Jul 31 2024 Mihai Patrascoiu - 2.23.0
###Task
- [DMC-1412] - Gfal2 support for archive metadata
- [DMC-1413] - Data Management Clients for Fedora 39 and Fedora 40
- [DMC-1414] - Stop building Data Management Clients for CC7
###Improvement
- [DMC-1416] - Disable the automatic clean-up when a copy fails
- [gfal2/pull/61] - Fixes for 64 bit time_t on 32 bit systems
###Change
- [DMC-1409] - Rename FTS archive-metadata from "TransferMetadata" to "ArchiveMetadata" header in Gfal2
- [DMC-1415] - Modify HTTP "user.status" extended attribute to return file locality even in the presence of the "/archiveinfo" error field
## Tue Mar 19 2024 Mihai Patrascoiu - 2.22.2
###Bug
- [DMC-1398] - Gfal2 does not handle endpoints without reverse DNS entry
- [DMC-1399] - DNS resolution breaks config and credential look-up
- [DMC-1402] - Gfal2 XRootd bringonline does not pass query arguments
- [DMC-1407] - Incorrect IPv4 reported for HTTP-TPC transfers that don't send "RemoteConnections" marker
###New Feature
- [DMC-1400] - Make Gfal2 HTTP "RETRIEVE_BEARER_TOKEN" option configurable per Storage Endpoint
###Improvement
- [DMC-1377] - Configure "RETRIEVE_BEARER_TOKEN" per Storage Endpoint
- [DMC-1393] - Preserve SE-specific settings when DNS host resolution is applied
- [DMC-1408] - Gfal2 should allow logging the HTTP body of requests/responses
###Question
- [DMC-1397] - Tape REST API endpoints and trailing slash
## Mon Dec 11 2023 Joao Lopes - 2.22.1
###Improvement
- [DMC-1396] - Get storage-issued tokens with OAuth2 flow
## Wed Oct 18 2023 Joao Lopes - 2.22.0
###New Feature
- [DMC-1344] - Propagate Scitags during TPC transfers
###Task
- [DMC-1379] - Move DMC projects to Alma8 and Alma9
- [DMC-1387] - Data Management Clients for Fedora 38
## Tue Jul 25 2023 Mihai Patrascoiu - 2.21.5
###Bug
- [DMC-1380] - Return an error code when checksum request fails over HTTP
###New Feature
- [DMC-1382] - Gfal2 should propagate the CLEANUP event
###Improvement
- [DMC-1378] - Archive and stage poll should show response from XrootD server when response is an invalid JSON
- [DMC-1381] - Configure DEFAULT_COPY_MODE per storage endpoint
## Mon Apr 03 2023 Joao Lopes - 2.21.4
###New Feature
- [DMC-1367] - Gfal2 support for transfer metadata
###Improvement
- [DMC-1374] - Propagate all error messages reported by the HTTP Tape REST API
###Sub-task
- [DMC-1348] - Extend DNS host resolution for HTTP protocol
- [DMC-1368] - Pass transfer metadata in the HTTP TPC command
## Tue Feb 07 2023 Joao Lopes - 2.21.3
###New Feature
- [DMC-1290] - Gfal2 Mock Plugin support for Archive operation
- [DMC-1357] - Report source and destination hosts involved in HTTP Third Party Copy
- [DMC-1369] - Make Gfal2 HTTP "HEADERS" option configurable per Storage Endpoint
###Task
- [DMC-1359] - Data Management Clients for Fedora 37
###Improvement
- [DMC-1362] - Gfal2 HTTP logging should respect the "LOG_LEVEL" configuration
- [DMC-1365] - Protect gfal_xrootd_bring_online_list() from reading un-allocated memory
- [DMC-1366] - Two GFAL2 XRootD bring on-line error messages have the same message
###Bug
- [cern-fts/gfal2/pull/14] - Don't downgrade the C++ version (bugzilla#2163832)
## Thu Dec 01 2022 Mihai Patrascoiu - 2.21.2
###New Feature
- [DMC-1353] - Always return Adler32 checksum as 8-byte string
- [DMC-1354] - Make Gfal2 HTTP "ENABLE_REMOTE_COPY" option configurable per Storage Endpoint
- [gfal2/pull/53] - Allow the use of roots:// and xroots:// schema for XRootd + TLS
###Task
- [DMC-1351] - Pass bringonline token to evict call inside HTTP copy
###Improvement
- [DMC-1350] - Reduce metalink requests in Gfal2 HTTP plugin
- [DMC-1355] - Disable metalink support by default for Gfal2 transfers
## Thu Sep 29 2022 Mihai Patrascoiu - 2.21.1
###Bug
- [DMC-1334] - Gfal2 HTTP bring online polling missing files
###New Feature
- [DMC-1347] - Allow GFAL2 ENABLE_FALLBACK_TPC_COPY to be overridden per SE
- [DMC-1349] - Report IPv4 transfer event
###Task
- [DMC-1327] - DMC packages for Centos Stream 9
- [DMC-1329] - Create "taperestapi.uri" extended attribute in Gfal2 HTTP plugin
- [DMC-1331] - Create "taperestapi.sitename" extended attribute in Gfal2 HTTP plugin
- [DMC-1336] - Data Management Clients for Fedora 36
###Improvement
- [DMC-1339] - HTTP streamed copy should apply the transfer timeout to both source and destination operations
- [DMC-1340] - Better reporting of errors during HTTP streamed transfers
## Fri Jul 08 2022 Joao Lopes - 2.21.0
###Epic
- [DMC-1301] - Gfal2 Support for HTTP Tape Operations
###New Feature
- [DMC-1302] - Implement HTTP bringonline operation
- [DMC-1303] - Implement HTTP bringonline polling operation
- [DMC-1304] - Implement HTTP archive polling operation
- [DMC-1305] - Implement HTTP release-file operation
- [DMC-1306] - Implement HTTP eviction on successful copy operation
- [DMC-1307] - Implement HTTP Tape Endpoint discovery
- [DMC-1311] - Report IP stack used during HTTP-TPC in Gfal2
- [DMC-1314] - Implement HTTP bringonline cancel operation
- [DMC-1316] - Allow configuration of HTTP "ENABLE_STREAM_COPY" parameter by Storage Endpoint
- [DMC-1321] - HTTP tape polling operations must not assume order is preserved in server response
- [DMC-1323] - Gfal2 should propagate the EVICT event
- [DMC-1324] - Gfal2 support for extended attributes via HTTP
###Improvement
- [DMC-1260] - Expose Gfal2 XRootD eviction via the file API
- [DMC-1317] - Prevent HTTP Copy fallback for non-retryable errors
- [DMC-1318] - Refactor the HTTP Copy error reporting
## Fri Mar 04 2022 Mihai Patrascoiu - 2.20.5
###Bug
- [gfal2/pull/42] - Check _DARWIN_FEATURE_ONLY_64_BIT_INODE to avoid errors from stat64 being undefined
- [gfal2/pull/43] - Fix building against OpenLDAP 2.5+
###Improvement
- [DMC-1308] - Move Data Management Clients to Fedora 34 & 35
- [cern-fts/gfal2/pull/9] - Remove trailing white spaces
## Tue Feb 22 2022 Mihai Patrascoiu - 2.20.4
###Bug
- [DMC-1297] - HTTP MOVE operation + SETokens needs to request a token for common base directory
- [DMC-1298] - GridFTP unsupported extended attribute error message should be clearer
- [DMC-1300] - Memory leak in Macaroon retrieval
- [gfal2/pull/38] - Do not hardcode error numbers
- [gfal2/pull/40] - Define ENODATA if not defined
- [cern-fts/gfal2/pull/10] - [CMake] Explicitly state the dependency relation of the XRootD plugin and the uuid
###Request
- [DMC-1296] - Improve GridFTP DNS gateway resolution mechanism
## Wed Jan 19 2022 Joao Lopes - 2.20.3
###Improvement
- [gfal2/pull/41] - Simplified tokens management for CS3 storages
## Mon Dec 06 2021 Mihai Patrascoiu - 2.20.2
###Bug
- [DMC-1149] - Misleading error message from mkdir -p over GridFTP when x509 credential can not be found
- [DMC-1282] - Gfal2 MKCOL with SE-tokens incompatible with dCache storage
- [DMC-1283] - HTTP Rmdir + SETokens fails on DPM when path missing trailing '/'
- [DMC-1284] - Do not use Authorization Header when requesting SEToken
## Mon Oct 25 2021 Mihai Patrascoiu - 2.20.1
###Bug
- [DMC-1272] - Segfault when macaroon request exceeds maximum response size
- [DMC-1273] - Gfal2 HTTP plugin does not clear SE-issued tokens from the Gfal2 core credential map
- [DMC-1275] - Gfal2 credential map should return partial prefix matches only in the case of directories
- [DMC-1276] - Gfal2 HTTP SE-issued write token should also include all read permissions
- [gfal2/pull/37] - Define ECOMM and ECHRNG if required (e.g. macOS)
###Improvement
- [DMC-1274] - Provide credential delete method in the Gfal2 credential API
## Mon Sep 20 2021 Mihai Patrascoiu - 2.20.0
###Epic
- [DMC-1249] - Migrate CI infrastructure to gitlab-CI
###Bug
- [DMC-1262] - Gfal2 list polling functions return error array with incomplete first element when plugin not found
- [DMC-1266] - Missing null byte in readlink Gfal2 file plugin
###New Feature
- [DMC-1228] - Implement SE token retrieval in Gfal2
- [DMC-1247] - Add SWIFT support in Gfal2
- [DMC-1269] - Add CS3API support in Gfal2
###Task
- [DMC-1250] - Gfal2 packages for Centos8
- [DMC-1257] - Treat "davs" and "https" protocols as the same in SRM TURL selection
- [DMC-1264] - Gfal2 packages for Fedora >= 33
###Improvement
- [DMC-1246] - Avoid exposing sensitive information in Gfal2 HTTP debug output
- [DMC-1261] - Improve XRootd Status code to errno mapping
- [DMC-1270] - Support for checksum and getxattr calls in in Gfal2 mock plugin
## Wed May 26 2021 Mihai Patrascoiu - 2.19.2
###Bug
- [DMC-1248] - Misleading error message when XRootD bringonline bulk request fails
- [DMC-1252] - Memory leak in XRootd bringonline/archive polling
## Thu Mar 25 2021 Mihai Patrascoiu - 2.19.1
###Bug
- [DMC-1237] - gfal-rm -r fails on HTTP endpoints
- [DMC-1244] - XRootd copy failing when checksum value has uppercase characters
###Improvement
- [DMC-1194] - gfal-xattr should avoid triggering an srmPrepareToGet in case the file is not ONLINE
- [DMC-1233] - UTF8 escape XRootd error messages
## Fri Dec 04 2020 Mihai Patrascoiu - 2.19.0
###Bug
- [DMC-1227] - gfal-ls with https/davs
- [DMC-1231] - Do not use BEARER tokens when dealing with S3/GCloud endpoints
###Task
- [DMC-1217] - Implement gfal2 archived poll API using Xrdfs query prepare
###Improvement
- [DMC-1224] - Bringonline polling should always propagate the error_text field, if it exists
- [DMC-1229] - Introduce Gfal2 transfer parameter to enable/disable proxy delegation
- Refactor the way S3 request parameters are obtained from the loaded configuration
- Non-UTF8 characters in Davix error and log messages are correctly handled in the HTTP plugin (attributed to Petr Vokac)
## Mon Jul 27 2020 Mihai Patrascoiu - 2.18.2
###Bug
- [DMC-1220] - Filesize of GridFTP incomplete files reported as -1
###Task
- [DMC-1216] - Modify gfal2 Xrdfs query prepare to recognize both path_exists and exists fields
## Wed Jun 17 2020 Mihai Patrascoiu - 2.18.1
###Bug
- (DMC-1110) Set RequireChecksumVerification header to false also for checksum mode "both"
- Fix JSON headers for HTTP plugin
## Fri Jun 05 2020 Mihai Patrascoiu - 2.18.0
###Bug
- [DMC-1201] - gfal2-plugin-xrootd incompatible with the xrootd master (v5)
###Task
- [DMC-1059] - Extend the gfal2 HTTP plugin to implement CDMI QoS operations
## Thu May 07 2020 Mihai Patrascoiu - 2.17.3
###Bug
- [DMC-1203] - gfal attempts delegation with S3 / gcloud during third party copy
- [DMC-1210] - gfal2 recursive mkdir fails with file exist
- Fix incorrect parenthesis in GridFTP checksum validation
- Token credentials support for same-host HTTP TPC transfers
* Thank you to Petr Vokac for same-host HTTP TPC support using token credentials
## Tue Jan 28 2020 Michal Simon - 2.17.2
###Bug
- [DMC-1198] - bring_online_poll_list: collapse redundant slashes in the path.
## Thu Nov 28 2019 Andrea Manzi - 2.17.1
###Task
- [DMC-1192] - Rewrite gfal_xrootd_bring_online_poll_list to use the Xrdfs Query Prepare implementation
- [DMC-1196] - Set IPV6=false by default for gridftp plugin
###Improvement
- [DMC-1187] - Add COPY_FAIL_NEARLINE option for SRM copy_file
## Tue Oct 22 2019 Andrea Manzi - 2.17.0
###Sub-task
- [DMC-1168] - add root and https to TURL_3RD_PARTY_PROTOCOLS
###Bug
- [DMC-1185] - When an Xrootd staging request part of a bulk fails, all staging requests are also set as failed
###Task
- [DMC-1151] - Set IPV6=true by default for gridftp plugin
- [DMC-1167] - Make sure SRM<->http and SRM<->root TPC is supported
- [DMC-1176] - Stop building lfc and rfio plugins on Rawhide/F31/EPEL8
###Improvement
- [DMC-1061] - xrootd plugin: checksum logic broken
- [DMC-1182] - Add multistream support in Xrootd plugin
## Wed Sep 18 2019 Andrea Manzi - 2.16.4
###Bug
- [DMC-1173] - The xrootd plugin ignores the make parent option
###Task
- [DMC-1159] - Implement Xrootd prepare evict on sources when Xrootd TPC transfers succeed
- [DMC-1160] - Remove conditional compilation code to still support xrootd v3 on xrootd plugin
- [DMC-1166] - Add support for canceling HTTP TPC transfers
## Fri May 17 2019 Andrea Manzi - 2.16.3
###Bug
- [DMC-1026] - gfal-copy segmentation fault on MacOSx
- [DMC-1137] - gfal2.Gfal2Context.cancel issue for Xrootd transfers
- [DMC-1147] - The autoCleanFileCopy function in gridftp plugin never executes the file unlink
- [DMC-1155] - gfal-rm with signed https URL gives 401 error
###Task
- [DMC-1152] - Map stat file flags for Xrootd to SRM user.status xattr
- [DMC-1156] - Sanitize gridftp checksum returned by globus
- [DMC-1157] - Integrate new API for staging canceling in Xrootd
## Thu Feb 21 2019 Andrea Manzi - 2.16.2
###Bug
- [DMC-1131] - Transfers gridftp->ftp fail as GLOBUS_FTP_CONTROL_MODE_EXTENDED_BLOCK is not supported on FTP
###Task
- [DMC-1123] - Add ENABLE_FALLBACK_COPY variable to http plugin
- [DMC-1125] - Add X509 delegation to Xrootd TPC job properties
- [DMC-1129] - Add a query parameter to HTTP urls for the configuration of the copy mode
## Wed Oct 31 2018 Andrea Manzi - 2.16.1
###Bug
- [DMC-1099] - Checksum comparison in Xrootd is wrongly enabled for FTS transfers
- [DMC-1106] - HTTP to HTTP streamed transfers timeout after 300 secs
- [DMC-1107] - The instant throughut for HTTP Streamed transfers is wrongly calculated
- [DMC-1109] - HTTP TPC failures are not logged at INFO level
- [DMC-1110] - RequireChecksumVerification set to false only for HTTP TPC PULL
- [DMC-1112] - Setting BEARER_TOKEN breaks pre-signed URLa
###Task
- [DMC-1095] - Refactor http streamed copy to support s3 multipart upload via Davix
## Mon Seo 28 2018 Andrea Manzi - 2.16.0
### Bug
- [DMC-1048] - Xrootd plugin: the query for the EOS-CTA extended attribute "sys.retrieve.error" should be asynchronous
- [DMC-1055] - The Xrootd checksum preset should not contain leading 0s
- [DMC-1057] - xattr.h is in glibc-headers >= 2.27
- [DMC-1066] - gfal-sum does not honour HTTP 202 responses
- [DMC-1067] - Xrootd plugin does not pass the checksum type
- [DMC-1068] - Remove file after error in HTTP COPY
- [DMC-1069] - Work with endpoints that support HTTP macaroons but not for COPY
- [DMC-1084] - TPC with destination/source http are not working with dCache
### Task
- [DMC-1046] - add support for gCloud in gfal2 http plugin
- [DMC-1060] - xrootd plugin should clean destination on failure
- [DMC-1064] - Add possibility to pass a BEARER token via ENV var
### Improvement
- [DMC-1028] - RD_NB_STREAM in /etc/gfal2.d/gsiftp_plugin.conf has no effect
- [DMC-1074] - Add DEFAULT_COPY_MODE to gfal2 http conf
## Mon May 28 2018 Andrea Manzi - 2.15.5
### Bug
- [DMC-1023] - Xrootd plugin:The checksum string provided by the user is not correctly parsed
- [DMC-1041] - Incorrect GridFTP listing output
### Improvement
- [DMC-1036] - gfal_http_get_token should read the credentials associated to the host
### New Feature
- [DMC-1038] - Implement abort files for Xrootd bringonline
- [DMC-1040] - Xrootd plugin: implement the query for the EOS-CTA extended attribute 'sys.retrieve.error'
## Thu Apr 05 2018 Andrea Manzi - 2.15.4
### Bug
- [DMC-1027] - DAVIX operation timeout incorrect for HTTP-based transfers
- [DMC-1031] - gfal_http_get_token does not free the gchar* token
- [DMC-1034] - When ENABLE_STREAM_COPY is disabled the http copy process crashes
## Mon March 12 2018 Andrea Manzi - 2.15.3
### Bug
- [DMC-1017] - gfal2 examples don't compile
### Improvement
- [DMS-1014] - change the default copy method to PULL for HTTP
- [DMC-1015] - gfal_http_copy should try all available COPY modes regardless of the error
## Mon Feb 12 2018 Alejandro Alvarez - 2.15.2
### Bug
- [DMC-1009] - Segfault on gfal_load_configuration_to_conf_manager when there is an error loading the configuration file
- [DMC-1010] - HTTP Plugin: Normalisation of destination url breaks S3 support for push third party copy
- [DMC-1011] - HTTP transfers wrongly reported with success
## Thu Feb 01 2018 Alejandro Alvarez - 2.15.1
### Bug
- [DMC-998] - XRootD plugin: xrootd is not recognised as a valid prefix for copies
- [DMC-999] - GridFTP Plugin: Third party copy does not work for ftp => gridftp
- [DMC-1000] - GridFTP Plugin: Disable multistreams for plain FTP
- [DMC-1003] - Fix typo UNKNOW => UNKNOWN for replica locality
- [DMC-1004] - SRM Plugin: Map "None" locality
- [DMC-1006] - if GFAL_CRED_X509_CERT is not defined, the XROOTD PLUGIN options are skipped
- [DMC-1007] - Wrong default values in configuration files (TRUE instead of true)
## Thu Nov 09 2017 Alejandro Alvarez - 2.15.0
### Bug
- [DMC-977] - Missing closing bracket on the space reporting output
- [DMC-979] - Total size reported incorrectly to be -1
- [DMC-991] - GridFTP Plugin: Reset credentials when reusing handle with a different endpoint
### New Feature
- [DMC-989] - HTTP Plugin: If checksum is MD5, send Content-MD5 header
### Improvement
- [DMC-954] - Drop davs+3rd, use only davs
- [DMC-965] - When copying into/from srm, if the other pair is *not* srm, it should appear first on the list of protocols
- [DMC-970] - Add Castor to the test endpoints
- [DMC-975] - XRootD Plugin: Make normalization configurable (disable by default?)
- [DMC-986] - Performance markers timeout should return ETIMEDOUT instead of ECANCEL
## Wed Jul 26 2017 Alejandro Alvarez - 2.14.2
### Bug
- [DMC-976] - DMC-878 breaks GridFTP towards Castor
## Fri Jul 14 2017 Alejandro Alvarez - 2.14.1
### Bug
- [DMC-973] - SRM Plugin: Revert multiple slash addition
## Wed Jun 21 2017 Alejandro Alvarez - 2.14.0
### Bug
- [DMC-918] - LFC Plugin: Doesn't work with [X509] CERT and KEY configuration
- [DMC-921] - GridFTP plugin: When asking for server, there is a missing error check
- [DMC-923] - GridFTP Plugin: PASV plugin leaks
- [DMC-949] - SRM Plugin: Use double slash for absolute paths
- [DMC-955] - HTTP Plugin: For third party copies, fallback should be done for EPERM
### New Feature
- [DMC-878] - Allow to use different credentials for different storages/paths
- [DMC-931] - GridFTP Plugin: Striped Passive when IPv6 is used
- [DMC-932] - XRootD Plugin: Prototype staging implementation using XRootD
- [DMC-948] - LFC Plugin: Add checksum support
- [DMC-953] - Copy event should specify the copy mode
- [DMC-959] - Mock Plugin: Add signals on creation time, allow to disable by configuration
### Task
- [DMC-929] - XRootD Plugin: Allow to specify custom xrd.* flags
### Improvement
- [DMC-915] - Reorganize core
- [DMC-928] - Clean up gfal2-util timeout info
- [DMC-962] - Add a method to remove a configuration key
### Question
- [DMC-936] - Copyright clarification
## Mon May 29 2017 Alejandro Alvarez - 2.13.4
### Bug
- [DMC-951] - Default checksum for local copy was removed
## Fri Mar 17 2017 Alejandro Alvarez - 2.13.3
### Bug
- [DMC-924] - gfal2 breaks backwards compatibility for checksums
## Mon Feb 20 2017 Alejandro Alvarez - 2.13.1
### Bug
- [DMC-919] - Remove calls to globus_module_deactivate
## Mon Feb 06 2017 Alejandro Alvarez - 2.13.0
### Bug
- [DMC-895] - Recursive directory creation: EEXIST shouldn't cause a failure
- [DMC-901] - Xrootd succeeds to copy even if one of the storages does not support checksums
- [DMC-909] - SRM Plugin: When BDII is disabled, SRM endpoint is built incorrectly
- [DMC-910] - Leaks in BDII bindings and GridFTP plugin
### New Feature
- [DMC-885] - XrootD Plugin: Add space reporting to the API
- [DMC-886] - Consolidate space reporting between plugins
- [DMC-892] - Generalize checksum methods
- [DMC-896] - SFTP plugin
### Task
- [DMC-902] - Delete old deprecated methods
- [DMC-905] - Expose Low level parameters for local -> remote copies
### Improvement
- [DMC-880] - If the option -t is passed, make sure that Davix knows it
- [DMC-884] - XRootD Plugin: Pass desired checksum type to the storage
- [DMC-900] - Apply QA tools feedback
- [DMC-913] - Log a warning and keep going if loading a plugin fails
## Thu Oct 27 2016 Alejandro Alvarez - 2.12.3
### Bug
- [DMC-891] - GridFTP Plugin: IPv6 detection misfire in some cases
## Tue Sep 06 2016 Alejandro Alvarez - 2.12.2
### Bug
- [DMC-879] - XRootD Plugin: Segfault on 3rd party copy
## Tue Aug 16 2016 Alejandro Alvarez - 2.12.1
### Bug
- [DMC-872] - SRM Plugin: DMC-860 broke directory listing when endpoint can not be resolved from BDII
### New Feature
- [DMC-870] - Add support for s3 alternate syntax URLs to gfal
## Mon Aug 01 2016 Alejandro Alvarez - 2.12.0
### Bug
- [DMC-833] - gfal2_add_client_info should overwrite existing key
- [DMC-841] - Make scheme handling consistent across gfal2
- [DMC-846] - File Plugin: Only strict URIs must be accepted
- [DMC-848] - GridFTP Plugin: PASV plugin parses incorrectly some IPv6
- [DMC-853] - [Known Issue] Connection issues when a PUT and a GET are done through the same GridFTP connection
- [DMC-856] - Set user and password when accessing plain FTP
- [DMC-858] - XRootD: Urldecode path before passing to xrootd libraries
- [DMC-860] - SRM Plugin: Urldecode path before passing to srm-ifce
### New Feature
- [DMC-827] - GridFTP Plugin: Allow to configure blocksize
- [DMC-849] - GridFTP Plugin: Fire an event if IPv6 is used
- [DMC-866] - Expand '-' to stdout when used as destination for gfal-copy
- [DMC-868] - GridFTP Plugin: Add spacetoken xattr
### Task
- [DMC-852] - GridFTP: Workaround for Globus' higher priority to /etc/grid-security/hostcert.pem
### Improvement
- [DMC-837] - When an operation is not supported, include the url on the error
- [DMC-851] - Improve URI parser (breaks internal API)
- [DMC-855] - Accept xroot:// as well as root://
- [DMC-857] - GridFTP Plugin: Set ALLO to remote storages
- [DMC-864] - Can gfal2 indicate the origin of errors (source/destination) when using GridFTP?
## Thu Apr 14 2016 Alejandro Alvarez - 2.11.1
### Bug
- [DMC-813] - XRootD plugin: gfal2_set_error called without format string
- [DMC-818] - SRM plugin not invoked when using a relative path to the source file
## Mon Mar 07 2016 Alejandro Alvarez - 2.11.0
### Bug
- [DMC-758] - Add a Requires on glib2 >= 2.28
- [DMC-769] - GridFTP Plugin: Missing throw inside copy
- [DMC-783] - SRM endpoint resolution fails due to an off-by-one introduced when switched to g_strlcpy
- [DMC-798] - FIle Plugin: Readlink implemented but not exposed
- [DMC-803] - GridFTP Plugin: PASV plugin fails to extract IP
- [DMC-808] - gfal2_parse_uri does not support IPv6 URLS
- [DMC-811] - gfal2 error GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory
### Improvement
- [DMC-793] - SRM Plugin: Set "GRIDFTP PLUGIN:STAT_ON_OPEN" to false when the endpoint is Castor
- [DMC-795] - XRootD Plugin: Generate better error messages
- [DMC-809] - XRootD Plugin: Copy from/to XRootD using the Client (as with 3rd party copy)
- [DMC-812] - Add open/read/write/close to the mock plugin
### New Feature
- [DMC-756] - Mock plugin: Add directory listing and signal raising
- [DMC-763] - Add plain FTP support (anonymous only)
- [DMC-781] - Add support for short-term S3 credentials
- [DMC-797] - HTTP Plugin: Add rename support
- [DMC-801] - dCache davs pull copy use checksum verification by default, should be disabled if checksums are not asked for
- [DMC-804] - Allow to pass arbitrary headers to davix
## Wed Dec 09 2015 Alejandro Alvarez - 2.10.3
### Bug
- [DMC-783] - SRM endpoint resolution fails due to an off-by-one introduced when switched to g_strlcpy
## Fri Nov 06 2015 Alejandro Alvarez - 2.10.2
### Bug
- [DMC-769] - GridFTP Plugin: Missing throw inside copy
## Tue Oct 20 2015 Alejandro Alvarez - 2.10.1
### Bug
- [DMC-750] - Respect GLOBUS_THREAD_MODEL environment
### Improvement
- [DMC-738] - HTTP Plugin: Skip source validation checksum if the algorithm is not supported
## Mon Oct 12 2015 Alejandro Alvarez - 2.10.0
### Bug
- [DMC-676] - SRM Plugin: Response for bringonline may be shorter than the request
- [DMC-682] - SURLS in responses may not contain full endpoint
- [DMC-692] - gfal_rw_seq_SRM_DPM hangs somewhere when the proxy is not initialized
- [DMC-694] - GridFTP Plugin: Malformed IPv6 printed on the logs
- [DMC-717] - Remove Boost dependency from gfal2
- [DMC-720] - SRM Plugin should handle transfers also for file:/path
- [DMC-722] - LFC Plugin registers the TURL rather than the SURL into the catalog
- [DMC-724] - XROOTD plugin: Case-insensitive checksum type comparison
- [DMC-731] - Segfault on xrootd 3rd party copies
- [DMC-741] - Replace G_LOG_LEVEL_INFO with other levels
- [DMC-742] - SRM Plugin: Convert UTC to local timestamp
### Improvement
- [DMC-674] - Validate version as part of the packaging
- [DMC-679] - SRM Plugin: Reduce log level for the unlinking messages
- [DMC-685] - All: Mark in a common way when a checksum comparison fails
- [DMC-698] - Port DMC clients to MacOSX
- [DMC-737] - File plugin: Avoid large allocation on the stack
- [DMC-744] - GridFTP Plugin: Parse uid and gid if available
### New Feature
- [DMC-669] - GridFTP Plugin: Hook a plugin to capture final endpoints on transfer
- [DMC-673] - SRM Plugin: Add srm.type extended attribute
- [DMC-697] - HTTP Plugin: Add support for pull copies
### Task
- [DMC-680] - Integrate gfal2-plugin-xrootd into mainline gfal2
- [DMC-712] - Improve mock plugin
## Tue Jun 08 2015 Alejandro Alvarez - 2.9.3
### Bug
- [DMC-682] - SRM Plugin: SURLS in responses may not contain full endpoint
- [DMC-676] - SRM Plugin: Response for poll may be shorter too
## Mon Jun 01 2015 Alejandro Alvarez - 2.9.2
### Bug
- [DMC-676] - SRM Plugin: Response for bringonline may be shorter than the request
## Fri Apr 10 2015 Alejandro Alvarez - 2.9.1
### Bug
- [DMC-620] - HTTP Plugin: Normalize S3:host to S3:HOST on all cases
- [DMC-622] - Core: gfal2 crash when aborting staging operation
- [DMC-626] - LFC Plugin: Off by one bug when checking for parent directory
- [DMC-627] - LFC Plugin: When lfn:// is used, lfc_host was being left to NULL
- [DMC-632] - GridFTP Plugin: When the timeout expires, wait for the callback after cancellation
- [DMC-638] - GridFTP Plugin: Performance marker timeout causes abort
- [DMC-639] - SRM Plugin: Fix build in Rawhide
- [DMC-645] - GridFTP Plugin: Always register performance marker callback
- [DMC-647] - GridFTP Plugin: In some machines, the threading model is event, and writing to castor do not work
- [DMC-653] - SRM Plugin: Closing when reading must issue a release
- [DMC-661] - GridFTP Plugin: Error messages generated during transfer seem to be truncated
- [DMC-662] - GridFTP Plugin: Map correctly "Disk quota" errors
### Improvement
- [DMC-613] - HTTP Plugin: Davix already stats before deletion, so remove the check
- [DMC-617] - HTTP Plugin: Set Davix retrials to 0
- [DMC-619] - HTTP Plugin: Add KEEP_ALIVE option
- [DMC-640] - Conditionally enable C++11
- [DMC-648] - Core: Provide gfal2_ prefixed methods for uri methods
- [DMC-649] - Core: Improve logger system, deprecate old methods
- [DMC-650] - SRM Plugin: Log the request tokens
- [DMC-651] - Core and plugins: Allow to send custom key/value to the servers
### New Feature
- [DMC-641] - Core: Allow to register multiple event listeners
- [DMC-642] - Core: Give plugins a chance to register their own event listeners
- [DMC-643] - Core: Add an event for copies that is triggered at the beginning
- [DMC-657] - SRM Plugin: On prepare to get and put, get the desired request lifetime from the configuration file
- [DMC-663] - Add functionality to allow querying the versions of the plugins loaded
## Fri Feb 27 2015 Alejandro Alvarez - 2.8.4
- [DMC-638] - GridFTP Plugin: Performance marker timeout causes abort
## Tue Feb 10 2015 Alejandro Alvarez - 2.8.3
- [DMC-632] - GridFTP Plugin: When the timeout expires, wait for the callback after cancellation
## Thu Jan 29 2014 Alejandro Alvarez - 2.8.2
- [DMC-622] - Core: gfal2 crash when aborting staging operation
## Tue Jan 06 2015 Alejandro Alvarez - 2.8.1
- [DMC-529] - [EPEL7 Only] GridFTP fails to load the configured credentials
- [DMC-531] - GridFTP Plugin: Partial read and write missing EOF's
- [DMC-541] - GridFTP and SRM plugins: Transferring from Castor SRM to non-SRM fail with "Connection refused"
- [DMC-544] - GridFTP Plugin: Map "System error in name: Is a directory" to EISDIR
- [DMC-553] - SRM Plugin: TURLS retrieved from a SRM endpoint should be of one of the requested protocols
- [DMC-559] - SRM Plugin: gfal_srm_readdir_pipeline ignore errors
- [DMC-563] - SRM Plugin: Typo in TURL resolution when copying
- [DMC-566] - Mock plugin: Only size should be enough to specify the file size
- [DMC-570] - GridFTP Plugin: Establishing an lfc connection before loading GridFTP makes the GridFTP plugin freeze in most (all?) operations
- [DMC-580] - Core: Do not try to create parent on "transfer only" copies
- [DMC-582] - SRM Plugin: Missing parameter in call to gfal2_set_error when the protocol is not expected
- [DMC-584] - SRM Plugin: Cache does not invalidate entries when removing a directory
- [DMC-587] - File: CRC32 should be represented in decimal
- [DMC-596] - SRM Plugin: Getting file:// is a legitimate use case
- [DMC-597] - GridFTP Plugin: Sessions are not reused
- [DMC-598] - GridFTP Plugin: Transfer timeout is not taken into account
- [DMC-601] - Core: Streamed copy buffer should be moved to the heap
- [DMC-565] - Mock plugin: Reduce default sleep time for transferring to ~5 secs
- [DMC-530] - SRM plugin doesn't seem to handle urls without path
- [DMC-533] - GridFTP Plugin: Partial read and write, avoid seeking if not strictly required
- [DMC-540] - HTTP Plugin: Assume DAV when http/https urls are used
- [DMC-556] - SRM Plugin: On copies, an error on RELEASE should not be considered an error
- [DMC-558] - Core: Log when events are triggered
- [DMC-560] - Core: Notify events also in streamed copies
- [DMC-568] - GridFTP Plugin: Enforce thread model to pthread
- [DMC-574] - File Plugin: Package separately
- [DMC-575] - SRM Plugin: Try listing in chunks when the storage replies "too many results"
- [DMC-589] - HTTP Plugin: Reduce the verbosity level configured for Davix
- [DMC-592] - GridFTP Plugin: In bulk copies, avoid redundant parent creation
- [DMC-562] - SRM Plugin: Trigger events for TURL resolution when copying
- [DMC-583] - Core: Add call to recover list of installed plugins
- [DMC-487] - GridFTP Plugin: Refactoring
- [DMC-536] - SRM Plugin: Protect the srm context with recursive mutexes
- [DMC-550] - HTTP Plugin: Add option to configure davix log level for debugging
- [DMC-576] - Merge gfal2, gfal2-core and gfal2-transfer in one single package
- [DMC-603] - Core: Transfer logic from c++ to c
- [DMC-604] - Remove dependency on glibmm24
* Mon Nov 17 2014 Alejandro Alvarez - 2.7.8
- [DMC-553] - TURLS retrieved from a SRM endpoint should be of one of the requested protocols
## Mon Nov 10 2014 Alejandro Alvarez - 2.7.7
- [DMC-539] - GridFTP Plugin: Transfers from gridftp endpoints hang when a read operation fails
- [DMC-541] - GridFTP and SRM plugins: Transferring from Castor SRM to non-SRM fail with "Connection refused"
## Fri Nov 07 2014 Alejandro Alvarez - 2.7.6
- [DMC-469] - LFC Plugin: Calling gfal2_set_error with wrong parameters
- [DMC-473] - HTTP Plugin: 3rd party copy should translate non canonical urls (davs+3rd...) to https
- [DMC-485] - Core: Recursive mkdir() fail when because of a race an intermediate directory is created
- [DMC-502] - GridFTP Plugin: if ucert == ukey, do not concatenate them
- [DMC-504] - SRM Plugin: mkdir-ing an existing directory must nor fail
- [DMC-509] - Core: Cannot use unix special files as a destination for file transfer
- [DMC-510] - srm-ifce is not mapping correctly status codes (Was Revert DMC-433)
- [DMC-515] - bring online timeout is not set correctly in gfal_srmv2_bring_online_internal
- [DMC-516] - SRM Plugin: Bringonline internals only checks for the status of the first file
- [DMC-523] - Core: Do not try to create parent directory if it exists already (local copy)
- [DMC-531] - GridFTP Plugin: Partial read and write missing EOF's
- [DMC-453] - Deprecate gfal_handle and gfal_context_t inside gfal2
- [DMC-463] - GridFTP Plugin: Log storage IPv6
- [DMC-465] - HTTP Plugin: Make possible dissabling certificate verification
- [DMC-507] - Core: Expose URI API publicly
- [DMC-508] - Deprecate direct inclusion of header files
- [DMC-533] - GridFTP Plugin: Partial read and write, avoid seeking if not strictly required
- [DMC-445] - HTTP Plugin: 3rd party copies explicit (davs+3rd://)
- [DMC-448] - SRM Plugin: Disable GridFTP session reuse if a castor srm endpoint is involved
- [DMC-452] - Core: For convenience, xattr user.checksum directly mapped to gfal2_checksum
- [DMC-459] - Core: New method to load configuration from a file (gfal2_load_opts_from_file)
- [DMC-466] - LFC Plugin: Handle replica deletion via extended attributes
- [DMC-490] - HTTP Plugin: Add support for AWS credentials
- [DMC-493] - Core: Add gfal2_get_opt_string_with_default
- [DMC-460] - GridFTP Plugin: Trimming bug in gridftp_readdir_parser
- [DMC-462] - GridFTP Plugin: Pipeline copy support
## Mon Jul 28 2014 Alejandro Alvarez - 2.6.8
- [LCGUTIL-169] - GFAL 2.0 : Enable tests for xrootd and http supports
- [LCGUTIL-345] - GFAL 2.0: add support for dCache test bed for functional tests
- [LCGUTIL-45] - GFAL 2.0 : non third party transfer should respect all transfers options
- [LCGUTIL-166] - GFAL 2 : Update gfal 2.0 functional tests
- [LCGUTIL-348] - gfal-copy produces misleading error
- [LCGUTIL-355] - HTTP plugin does not do 3rd party copy when dav/davs is used as scheme
- [LCGUTIL-359] - GFAL 2.0 : GFAL2 copy does not manage properly spacetoken in file <-> SRM transfer
- [LCGUTIL-361] - Some transfers finish with GridFTP transferring 0 bytes, and keep going
- [LCGUTIL-363] - Some tests do not clean after themselves
- [LCGUTIL-365] - SRM Checksum fallback fails for IPv6
- [LCGUTIL-393] - Spacetoken operations do not handle null values
- [LCGUTIL-420] - Unhandled exception causes abort
- [LCGUTIL-422] - Memory leak in gfal_srm_cache_stat_add
- [LCGUTIL-428] - Bringonline does not support destination space token
- [LCGUTIL-429] - thread-safety issue with SSL
- [LCGUTIL-432] - gfal_srmv2_bring_online returns > 0 if the file is already pinned
- [LCGUTIL-433] - gfal2-srm: If the file is pinned (22), gfal_srmv2_bring_online_internal must return 1 too
- [LCGUTIL-358] - When rolling back a SRM PUT, it may be necessary to explicitly remove the file
- [LCGUTIL-362] - Clarify error messages coming from gfal2 on copies
- [LCGUTIL-385] - GridFTP listing improvement (RELNOTE: session reuse enabled by default!)
- [LCGUTIL-386] - Improvements to GridFTP 3rd party copy to achieve session reuse
- [LCGUTIL-395] - Do not fail on replica registration if the same replica is already there
- [LCGUTIL-412] - Delegate the grid authentication of GFAL 2.0 http plugin to davix
- [LCGUTIL-435] - SRM: Cache file locality
- [LCGUTIL-55] - GFAL 2.0 : set a clean API to set/get at runtime the different possible credential
- [LCGUTIL-306] - lcg-stmd equivalent
- [LCGUTIL-352] - support GridFTP UDT in gfal2
- [LCGUTIL-356] - Add an option to disable http 3rd party copies
- [LCGUTIL-360] - Copy to http(s) does not work if the file is bigger than the buffer
- [LCGUTIL-423] - Bulk bring online
- [LCGUTIL-424] - Bulk deletions
- [LCGUTIL-425] - srm-ifce KeepAlive is not honored
- [LCGUTIL-439] - Missing abort function for gfal2
- [LCGUTIL-440] - stop perf markers callback when transferred_bytes == filesize
- [LCGUTIL-326] - GFAL 2.0: Map Davix Checksum support to GFAL 2.0
- [LCGUTIL-347] - gfla2 lfc plugin: set serrno to 0 before readdir calls
- [LCGUTIL-353] - HTTP plugin does not clean up destination on failure
- [LCGUTIL-354] - GFAL2.0 : srm segfault problem related to GFAL 2.0
- [LCGUTIL-403] - gfal2 segfault when reading dir via srm
- [LCGUTIL-406] - symbol lookup error: /usr/lib64/gfal2-plugins//libgfal_plugin_xrootd.so: undefined symbol: _ZN14XrdPosixXrootd8setDebugEi
- [LCGUTIL-417] - gfal-copy return success when there is some error in the plugin
- [LCGUTIL-460] - Issue with gfalFS and gridftp endpoints
## Wed Feb 26 2014 Adrien Devresse - 2.5.5-1
- [LCGUTIL-40] - GFAL 2.0 : implement lfc logic that allows third party copy logic with SRM
- [LCGUTIL-268] - gfal2 returns no error when proxy is invalid
- [LCGUTIL-290] - Problems with dates in gfalFS
- [LCGUTIL-295] - GridFTP plugin returns the full path when listing an empty directory
- [LCGUTIL-284] - LFC registration (as 3rd party copy) should perform some validations
- [LCGUTIL-286] - GFAL2 doesn't support multiple BDII
- [LCGUTIL-287] - If LFC_HOST is not specified, it should be looked in the BDII
- [LCGUTIL-288] - Implement readdirpp directly in plugins that support it
- [LCGUTIL-46] - GFAL 2.0 : find a workaround for non posix file information that are not mapped to xattr
- [LCGUTIL-267] - gfal2 checksum doesn't work for local files
- [LCGUTIL-285] - Add gsiftp meta-data cache
## Fri Dec 06 2013 Alejandro Alvarez - 2.4.8-0
- [LCGUTIL-216] - Checksum comparison must ignore heading '0'
- [LCGUTIL-220] - gfal2 crashes with SIGSEGV sometimes on bringonline
- [LCGUTIL-222] - Timeout doesn't seem to be honored
- [LCGUTIL-236] - Segfault inside GridFTP_Request_state::~GridFTP_Request_state
- [LCGUTIL-248] - GFAL 2.0 : Recent platform with recent glib2 version triggers "GLib-WARNING" in some case
- [LCGUTIL-255] - unlink on a dir returns ERR 22 (Invalid arg)
- [LCGUTIL-278] - seg fault - setxattr() in local files
- [LCGUTIL-297] - gfal2 perf markers 0 must be treated as no markers and respect timeout
- [LCGUTIL-160] - gfal2 needs to search the cache first (then BDII) if submitter not providing full srm url
- [LCGUTIL-217] - SRM plugin should allow empty checksums on source
- [LCGUTIL-303] - EOS GridFTP implementation does not return 'EEXIST' error properly
- [LCGUTIL-226] - Partial listing of directory to avoid loading too much the server
- [LCGUTIL-233] - GridFTP plugin should allow to skip the source checksum
## Tue Jul 02 2013 Adrien Devresse - 2.3.0-0
- [LCGUTIL-99] gfal2_cancel crashes gfal2 if called twice
- [LCGUTIL-135] GFAL 2.0 : Migrate the http plugin support for PEM from the old manual one to the new Davix one
- [LCGUTIL-143] GFAL 2.0 : Regression bug of the stat() call against the dcache instance
- [LCGUTIL-145] GridFTP plugin tries to delete the destination when getting the source checksum fails (!)
- [LCGUTIL-147] GFAL 2.0 : bug on the session re-use mechanism
- [LCGUTIL-165] GFAL 2.0 : enable HTTP/Webdav support by default, packaged on EPEL with davix
- [LCGUTIL-179] manpage-section-mismatch
- [LCGUTIL-141] GFAL 2 : add a flag in the gsiftp standard option in order to allow the gsiftp redirection, this is needed for the DPM gsiftp redirection mechanism
- [LCGUTIL-51] GFAL 2.0 : implement the last missing operation : srm_mv logic for file renaming
- [LCGUTIL-144] GFAL 2.0 : Update all functional test for a post-EMI usage
- First version fully compatible with a standard FTS 3.0 release
- Minor error correction from coverity report
- bug fixes related to gridFTP thread safety for meta-data operations.
## Thu Jul 02 2013 Michail Salichos - 2.2.2-11
- pass gfal2 to coverity and fix minor issues reported
## Mon Jun 10 2013 Michail Salichos - 2.2.2-10
- fixed memory leaks and variables initialization
- moved event exit message outside try-catch block
- fix potential crash when can't resolve IP from hostname
- LCGUTIL-142: gfal2_context_t wrapped in shared_ptr to avoid early destruction
## Thu Jun 06 2013 Michail Salichos - 2.2.2-6
- log IP and port of gridftp server in IPv4/IPv6 compatible way
## Thu May 27 2013 Michail Salichos - 2.2.2-5
- log IP and port of gridftp server
## Thu May 16 2013 Michail Salichos - 2.2.2-1
- replace gridftp exists with mlst
## Wed Mar 20 2013 Adrien Devresse - 2.2.0-0
- fix thread safety issue with gsiftp plugin
- add the bring online API
- support for the http plugin by default
- remove executable stack need
- remove openMP dependency
- add synchronous cancellation API
- add gsiftp performance marker timeout
- support for srm session reuse
- reduce memory footprint
## Thu Jan 10 2013 Adrien Devresse - 2.1.1-0
- fix a minor memory issue with the gfal_transfer stack
- fix a wrong error report problem with srm third party copy
## Wed Dec 05 2012 Adrien Devresse - 2.1.0-2
- fix an issue this surl to turl resolution for SRM third party copy
## Fri Nov 30 2012 Adrien Devresse - 2.1.0-0
- One-globus session system for gsiftp plugin ( FTS 3.0 need )
- correct a major issue with the gass attribute system in gsiftp plugin
- change the lfc set/get env var for a one compatible with set/get opt
- add set/nb streams option for gsiftp
- add the mkdir rec function for SRM transfer
- correct an issue with opendir and srm_ls ( ENOTDIR error silent )
- correct a memory leak in the cache system
- correct timeout support for gsiftp transfer
- implement tcp buffer size support for gsiftp layer
- apply a correction on the SRM over-write logic, linked to a BeStMan errcode problem on File Not Found with srmRm ( EOS )
- apply a fix on the transfer gsiftp timeout ( protection against multiple cancel )
- fix for SRM filesize problem ( defined to 0, workaround ) related to globus 426 error bad filesize
- secure the callback system for globus gass timeout
- base implementation of the http plugin
- improve reliability of the bdii resolution
- add a fallback mechanism in case of bdii bad resolution
- correct several race conditions in the bdii layer
- add thread safe support for set/get variables in liblfc
- correct a deadlock problem with globus and gisftp plugin
- implement the mkdir_rec logic for general purpose
- implement the parent folder creation logic with gridftp
- add support for lfc://host/path URL style for the lfc plugin
- switch off_t to 64bits size by default ( _FILE_OFFSET_BITS=64)
- provide a "nobdii" like option
- provide the choice of turl protocol resolution for srm plugin
## Fri Jul 20 2012 Adrien Devresse - 2.0.0-1
- Official initial release candidate of gfal 2.0
- Transfer API is official
- gridftp support for performance marker, checksum
- gridftp support for gridftpv2, dcau param
- SRM support for spacetoken in transfer
- SRM abort auto-management
- parallel operations in transfers
- file protocol dedicated in a plugin
- configuration file support
- srm timeout support
- general purpose checksum operation support
- POSIX operation support for gridftp
- cleaner plugin API
- new documentation
- I hope that you will enjoy gfal 2.0 :)
## 2.0.0-0.10
- effective set/get opt support for lfc/srm/gsiftp
- checksum calculation management
- auto-check functionality on transfer
- support for user-defined checksum
- performance marker implementation for SRM/GSIFTP
## 2.0.0-0.9
- Without environment variable design implemented
- add set/get option calls
- add SRM src/dst spacetoken management for gfal transfer
- re-factor properly gfal-transfer and gfal2_context_t
- generate a new clean documentation with log/transfer/context support
- allow direct modification of the internal posix context
- fix memory leak with gsiftp error report
## 2.0.0-0.8
- big improvement on the gridftp support
- split the headers files properly
- remove the carriage return from the gridftp error messages
- add plugin dedicaded API.
- refactor the parameter management for the transfer library
- add the "transfer replace" logic for the transfer library ( FTS 3.0 requirement )
- add logger system based on the glib log system ( ARC requirement )
- correct memory leaks and a session-reuse memory corruption for gridftp
- improve gridFTP global speed with request optimisations.
- remove the old config/parameters system for the posix library.
- add several functional tests for the new features.
- add SRM to X and X to SRM modes to the SRM plugin ( FTS 3.0 requirement )
## 2.0.0-0.7
- major improvement for third party transfer
- initial gridftp support
- begin to switch to configuration without env var
## 2.0.0-0.6
- initial tagged release
gfal2-v2.23.0/ci/ 0000775 0000000 0000000 00000000000 14652400145 0013353 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/ci/common-rpm-build.sh 0000775 0000000 0000000 00000002465 14652400145 0017102 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
set -e
function print_info {
printf "======================\n"
printf "%-16s%s\n" "Distribution:" "${DIST}"
printf "%-16s%s\n" "Dist name:" "${DISTNAME}"
printf "%-16s%s\n" "Build type:" "${BUILD}"
printf "%-16s%s\n" "Branch:" "${BRANCH}"
printf "%-16s%s\n" "Release:" "${RELEASE}"
printf "%-16s%s\n" "DMC Repository:" "${REPO_FILE}"
printf "======================\n"
}
TIMESTAMP=$(git log -1 --format="%at" | xargs -I{} date -d @{} +%y%m%d%H%M)
GITREF=`git rev-parse --short=7 HEAD`
RELEASE=r${TIMESTAMP}git${GITREF}
BUILD="devel"
if [[ -z ${BRANCH} ]]; then
BRANCH=`git name-rev $GITREF --name-only`
else
printf "Using environment set variable BRANCH=%s\n" "${BRANCH}"
fi
if [[ $BRANCH =~ ^(tags/)?(v)[.0-9]+(-(rc)?([0-9]+))?$ ]]; then
RELEASE="${BASH_REMATCH[4]}${BASH_REMATCH[5]}"
BUILD="rc"
fi
DIST=$(rpm --eval "%{dist}" | cut -d. -f2)
DISTNAME=${DIST}
# Special handling of FC rawhide
[[ "${DISTNAME}" == "fc41" ]] && DISTNAME="fc-rawhide"
# Write repository files to /etc/yum.repos.d/ based on the branch name
REPO_FILE=$(./ci/write-repo-file.sh)
print_info
RPMBUILD=${PWD}/build
SRPMS=${RPMBUILD}/SRPMS
cd packaging/
make srpm RELEASE=${RELEASE} RPMBUILD=${RPMBUILD} SRPMS=${SRPMS}
dnf builddep -y ${SRPMS}/*
rpmbuild --rebuild --define="_topdir ${RPMBUILD}" ${SRPMS}/*
gfal2-v2.23.0/ci/fedora-packages.sh 0000775 0000000 0000000 00000000471 14652400145 0016730 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
set -e
# Ensure "epel-release" package is installed
if ! rpm -q --quiet epel-release ; then
dnf install -y epel-release || true
fi
# Fedora rawhide (FC41)
dnf install -y dnf5-plugins || true
dnf install -y dnf-plugins-core git rpm-build tree which \
cmake make gcc gcc-c++
gfal2-v2.23.0/ci/write-repo-file.sh 0000775 0000000 0000000 00000001663 14652400145 0016732 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
set -e
GITREF=`git rev-parse --short HEAD`
if [[ -z ${BRANCH} ]]; then
BRANCH=`git name-rev $GITREF --name-only`
fi
if [[ $BRANCH =~ ^(tags/)?(v)[.0-9]+(-(rc)?([0-9]+))?$ ]]; then
BUILD="rc"
elif [[ ! -z ${DMC_REPO_BRANCH} ]]; then
BUILD="${DMC_REPO_BRANCH}"
else
BUILD="develop"
fi
DIST=$(rpm --eval "%{dist}" | cut -d. -f2)
DISTNAME=${DIST}
# Special handling of FC rawhide
[[ "${DISTNAME}" == "fc41" ]] && DISTNAME="fc-rawhide"
if [[ ${BUILD} == "rc" ]]; then
REPO_PATH="${BUILD}/${DISTNAME}/\$basearch"
elif [[ ${BUILD} == "develop" ]]; then
REPO_PATH="testing/${DISTNAME}/\$basearch"
else
REPO_PATH="testing/${BUILD}/${DISTNAME}/\$basearch"
fi
cat <<- EOF > "/etc/yum.repos.d/dmc-${BUILD}-${DISTNAME}.repo"
[dmc-${BUILD}-${DISTNAME}]
name=DMC Repository
baseurl=http://dmc-repo.web.cern.ch/dmc-repo/${REPO_PATH}
gpgcheck=0
enabled=1
protect=0
priority=3
EOF
echo "dmc-${BUILD}-${DISTNAME}.repo"
gfal2-v2.23.0/cmake/ 0000775 0000000 0000000 00000000000 14652400145 0014040 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/cmake/modules/ 0000775 0000000 0000000 00000000000 14652400145 0015510 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/cmake/modules/CMakeCXX11Support.cmake 0000664 0000000 0000000 00000002416 14652400145 0021617 0 ustar 00root root 0000000 0000000 include(CheckCXXSourceCompiles REQUIRED)
if(CMAKE_COMPILER_IS_GNUCXX)
execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
if(GCC_VERSION VERSION_GREATER 6.1 OR GCC_VERSION VERSION_EQUAL 6.1)
SET(HAVE_CXX011_FULL_SUPPORT TRUE)
SET(HAVE_CXX011_PARTIAL_SUPPORT TRUE)
elseif(GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
SET(HAVE_CXX011_FULL_SUPPORT TRUE)
SET(HAVE_CXX011_PARTIAL_SUPPORT TRUE)
SET(CXX11_FLAG_ENABLE "-std=c++11")
elseif(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
message(STATUS "C++11 partial support")
SET(HAVE_CXX011_PARTIAL_SUPPORT TRUE)
SET(CXX11_FLAG_ENABLE "-std=c++0x")
else ()
message(STATUS "C++11 no support ")
SET(CXX11_FLAG_ENABLE "")
endif()
else(CMAKE_COMPILER_IS_GNUCXX)
message(STATUS "C++11 activated full")
SET(HAVE_CXX011_FULL_SUPPORT TRUE)
SET(HAVE_CXX011_PARTIAL_SUPPORT TRUE)
SET(CXX11_FLAG_ENABLE "-std=c++0x")
endif(CMAKE_COMPILER_IS_GNUCXX)
## Check TR1
CHECK_CXX_SOURCE_COMPILES("
#include
int main() { return 0; }"
HAVE_TR1_SUPPORT)
if(HAVE_TR1_SUPPORT)
message(STATUS "TR1 support detected")
else(HAVE_TR1_SUPPORT)
message(STATUS "no TR1 support")
endif(HAVE_TR1_SUPPORT)
gfal2-v2.23.0/cmake/modules/CMakeGeneratePkgConfig.cmake 0000664 0000000 0000000 00000007613 14652400145 0022744 0 ustar 00root root 0000000 0000000 # @title cmake macro for pkgconfig files generation
# @brief generate a .pc package config file with a given name
# @author Adrien Devresse
include(DefineInstallationPaths REQUIRED)
include(CMakeMacroParseArguments REQUIRED)
include(CMakeStringHelpers REQUIRED)
SET(CMAKE_PKGCONFIG_TEMPLATE "prefix=@PREFIX@
exec_prefix=@PREFIX@
libdir=@LIBDIR_VAR
includedir=@INCLUDE_VAR@
Name: @NAME_PROJECT@
Description: @DESCRIPTION_PROJECT@
Version: @VERSION_PROJECT@
URL: @URL_PROJECT@
Requires: @REQUIRES_PROJECT@
Conflicts: @CONFLICTS_PROJECT@
Libs: @LIBS_PROJECT@
Libs.private: @LIBS_PRIVATE_PROJECT@
Cflags: @CFLAGS_PROJECT@
")
SET(CMAKE_PKGCONFIG_TEMPLATE_BASE "
prefix=@PREFIX@
exec_prefix= \\\${prefix}
libdir= @LIBDIR_VAR@
includedir=@INCLUDE_VAR@
Name: @NAME_PROJECT@
Description: @DESCRIPTION_PROJECT@
Version: @VERSION_PROJECT@
Requires: @REQUIRES_PROJECT@
Libs: @LIBS_PROJECT@
Cflags: @CFLAGS_PROJECT@
" )
LIST(APPEND CMAKE_PKGCONFIG_TEMPLATE_BASE_PATTERN "@PREFIX@" "@LIBDIR_VAR@"
"@INCLUDE_VAR@" "@NAME_PROJECT@" "@DESCRIPTION_PROJECT@" "@VERSION_PROJECT@"
"@REQUIRES_PROJECT@" "@LIBS_PROJECT@" "@CFLAGS_PROJECT@")
# main function to use
# FORMAT : add_PkgConfigFile_for_Library("string_filename.pc" target_library
# [DESCRIPTION] "description of the pkgconfig files"
# [HEADER_DIRS] dir1, dir2
# [REQUIRES] req1 req 2 ) # list of dir to include in $prefix/include/, ex : $prefix/include/dir1
# the pc file is produced in the ${CMAKE_CURRENT_BINARY_DIR} directory
function(add_PkgConfigFile_for_Library)
PARSE_ARGUMENTS(PKGCONFIGFILE
"HEADER_DIRS;DESCRIPTION;REQUIRES;CFLAGS"
""
${ARGN}
)
LIST(GET PKGCONFIGFILE_DEFAULT_ARGS 0 pkgconfig_filename)
LIST(GET PKGCONFIGFILE_DEFAULT_ARGS 1 lib_target)
LIST(GET PKGCONFIGFILE_DESCRIPTION 0 description)
get_target_property(library_name ${lib_target} OUTPUT_NAME)
get_target_property(library_version ${lib_target} VERSION)
set(pkgconfig_prefix "${CMAKE_INSTALL_PREFIX}")
set(pkgconfig_libdir_var "\\\${prefix}/lib${LIB_SUFFIX}")
set(pkgconfig_include_var "\\\${prefix}/include")
set(pkgconfig_linkflags "-l${library_name} -L\\\${libdir}")
set(pkgconfig_name "${pkgconfig_filename}")
set(pkgconfig_version "${library_version}")
set(pkgconfig_description "pkgconfig file for ${library_name}")
set(pkgconfig_requires " ")
set(pkgconfig_cflags "")
IF(PKGCONFIGFILE_REQUIRES)
FOREACH(req ${PKGCONFIGFILE_REQUIRES})
set(pkgconfig_requires "${pkgconfig_requires} ${req}")
ENDFOREACH(req PKGCONFIGFILE_REQUIRES)
ENDIF(PKGCONFIGFILE_REQUIRES)
IF(PKGCONFIGFILE_CFLAGS)
FOREACH(req ${PKGCONFIGFILE_CFLAGS})
set(pkgconfig_cflags "${pkgconfig_cflags} ${req}")
ENDFOREACH(req PKGCONFIGFILE_CFLAGS)
ENDIF(PKGCONFIGFILE_CFLAGS)
IF(PKGCONFIGFILE_HEADER_DIRS)
FOREACH(dir ${PKGCONFIGFILE_HEADER_DIRS})
set(pkgconfig_includedir "${pkgconfig_includedir} -I\\\${includedir}/${dir}")
ENDFOREACH(dir PKGCONFIGFILE_HEADER_DIRS)
ELSE(PKGCONFIGFILE_HEADER_DIRS)
set(pkgconfig_includedir " -I\\\${includedir}")
ENDIF(PKGCONFIGFILE_HEADER_DIRS)
IF(description)
set(pkgconfig_description "${description}")
ENDIF(description)
set(pkgconfig_cflags "${pkgconfig_cflags} ${pkgconfig_includedir} ")
LIST(APPEND pkgconfig_list_var ${pkgconfig_prefix} ${pkgconfig_libdir_var}
${pkgconfig_include_var} ${pkgconfig_name} ${pkgconfig_description}
${pkgconfig_version} ${pkgconfig_requires} ${pkgconfig_linkflags} ${pkgconfig_cflags})
replace_all_occurence(pc_file_content ${CMAKE_PKGCONFIG_TEMPLATE_BASE}
LIST_PATTERN ${CMAKE_PKGCONFIG_TEMPLATE_BASE_PATTERN} LIST_REPLACER ${pkgconfig_list_var})
SET(filename "${CMAKE_CURRENT_BINARY_DIR}/${pkgconfig_filename}")
FILE(WRITE ${filename} "${pc_file_content}" )
message(STATUS "generate pkgconfig file for ${lib_target} under ${filename}")
endfunction(add_PkgConfigFile_for_Library)
gfal2-v2.23.0/cmake/modules/CMakeMacroParseArguments.cmake 0000664 0000000 0000000 00000001776 14652400145 0023350 0 ustar 00root root 0000000 0000000
MACRO(PARSE_ARGUMENTS prefix arg_names option_names)
SET(DEFAULT_ARGS)
FOREACH(arg_name ${arg_names})
SET(${prefix}_${arg_name})
ENDFOREACH(arg_name)
FOREACH(option ${option_names})
SET(${prefix}_${option} FALSE)
ENDFOREACH(option)
SET(current_arg_name DEFAULT_ARGS)
SET(current_arg_list)
FOREACH(arg ${ARGN})
SET(larg_names ${arg_names})
LIST(FIND larg_names "${arg}" is_arg_name)
IF (is_arg_name GREATER -1)
SET(${prefix}_${current_arg_name} ${current_arg_list})
SET(current_arg_name ${arg})
SET(current_arg_list)
ELSE (is_arg_name GREATER -1)
SET(loption_names ${option_names})
LIST(FIND loption_names "${arg}" is_option)
IF (is_option GREATER -1)
SET(${prefix}_${arg} TRUE)
ELSE (is_option GREATER -1)
SET(current_arg_list ${current_arg_list} ${arg})
ENDIF (is_option GREATER -1)
ENDIF (is_arg_name GREATER -1)
ENDFOREACH(arg)
SET(${prefix}_${current_arg_name} ${current_arg_list})
ENDMACRO(PARSE_ARGUMENTS)
gfal2-v2.23.0/cmake/modules/CMakeStringHelpers.cmake 0000664 0000000 0000000 00000003233 14652400145 0022205 0 ustar 00root root 0000000 0000000 ##convenience function for string manipulation
function(replace_occurence output input pattern replacer)
string(REGEX REPLACE ${pattern} ${replacer} tmp_str ${input})
set(${output} ${tmp_str} PARENT_SCOPE)
endfunction(replace_occurence output input pattern replacer)
function(replace_all_occurence)
PARSE_ARGUMENTS(REPLACE_ALL
"LIST_PATTERN;LIST_REPLACER"
""
${ARGN}
)
LIST(APPEND list_pattern ${REPLACE_ALL_LIST_PATTERN})
LIST(APPEND list_replacer ${REPLACE_ALL_LIST_REPLACER})
LIST(LENGTH list_pattern list_size )
LIST(LENGTH list_replacer list2_size )
math(EXPR list_size ${list_size}-1)
LIST(GET REPLACE_ALL_DEFAULT_ARGS 0 output_var)
LIST(GET REPLACE_ALL_DEFAULT_ARGS 1 intput_content )
SET(tmp_str ${intput_content})
SET(tmp_str2 "")
foreach(i RANGE ${list_size})
list(GET list_pattern ${i} current_pattern )
list(GET list_replacer ${i} current_replacer )
replace_occurence(tmp_str2 ${tmp_str} ${current_pattern} ${current_replacer} )
SET(tmp_str ${tmp_str2})
endforeach(i RANGE ${list_size})
SET(${output_var} ${tmp_str} PARENT_SCOPE)
endfunction(replace_all_occurence)
function(STRING_APPEND var_name content)
SET(${var_name} "${${var_name}}${content}" PARENT_SCOPE)
endfunction(STRING_APPEND var_name content)
function(parse_lib_path lib_link lib_directory lib_path)
string(REGEX REPLACE "^.*/(lib)?(.*)\\.(so|dll)"
"\\2" my_lib_link
${lib_path})
string(REGEX REPLACE "^(.*)/(lib)?(.*)\\.(so|dll)"
"\\1" my_lib_dir
${lib_path})
SET(${lib_link} ${my_lib_link} PARENT_SCOPE)
SET(${lib_directory} ${my_lib_dir} PARENT_SCOPE)
endfunction(parse_lib_path lib_link lib_directory lib_path)
gfal2-v2.23.0/cmake/modules/DefineInstallationPaths.cmake 0000664 0000000 0000000 00000010555 14652400145 0023274 0 ustar 00root root 0000000 0000000 if (UNIX)
IF (NOT APPLICATION_NAME)
MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
SET(APPLICATION_NAME ${PROJECT_NAME})
ENDIF (NOT APPLICATION_NAME)
# Suffix for Linux
IF (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(LIB_SUFFIX ""
CACHE STRING "Suffix of the lib")
ELSE ()
IF (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET(LIB_SUFFIX ""
CACHE STRING "Suffix of the lib")
SET (PKG_ARCH "i386")
ELSE (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET(LIB_SUFFIX "64"
CACHE STRING "Suffix of the lib")
SET (PKG_ARCH "x86_64")
ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4)
ENDIF ()
SET(EXEC_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}"
CACHE PATH "Base directory for executables and libraries"
)
SET(SHARE_INSTALL_PREFIX
"${CMAKE_INSTALL_PREFIX}/share"
CACHE PATH "Base directory for files which go to share/"
)
SET(DATA_INSTALL_PREFIX
"${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
CACHE PATH "The parent directory where applications can install their data")
# The following are directories where stuff will be installed to
SET(BIN_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/bin"
CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
)
SET(SBIN_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/sbin"
CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
)
SET(LIB_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
)
SET(LIBEXEC_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/libexec"
CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
)
SET(PKGCONFIG_FILES_DIR
"${LIB_INSTALL_DIR}/pkgconfig/"
CACHE PATH "subdirectory relative to the install prefix where pkgconfig files (.pc) will be installed"
)
SET(PLUGIN_INSTALL_DIR
"${LIB_INSTALL_DIR}/${APPLICATION_NAME}-plugins/"
CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
)
SET(INCLUDE_INSTALL_DIR
"${CMAKE_INSTALL_PREFIX}/include"
CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
)
SET(DATA_INSTALL_DIR
"${DATA_INSTALL_PREFIX}"
CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
)
SET(DOC_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/doc/${APPLICATION_NAME}"
CACHE PATH "The parent directory where applications can install their documentation (default prefix/share/doc/${APPLICATION_NAME})"
)
SET(HTML_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/doc/HTML"
CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
)
SET(ICON_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/icons"
CACHE PATH "The icon install dir (default data/icons/)"
)
SET(SOUND_INSTALL_DIR
"${DATA_INSTALL_PREFIX}/sounds"
CACHE PATH "The install dir for sound files (default data/sounds)"
)
SET(LOCALE_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/locale"
CACHE PATH "The install dir for translations (default prefix/share/locale)"
)
SET(XDG_APPS_DIR
"${SHARE_INSTALL_PREFIX}/applications/"
CACHE PATH "The XDG apps dir"
)
SET(XDG_DIRECTORY_DIR
"${SHARE_INSTALL_PREFIX}/desktop-directories"
CACHE PATH "The XDG directory"
)
SET(SYSCONF_INSTALL_DIR
"${EXEC_INSTALL_PREFIX}/etc"
CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
)
SET(MAN_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/man"
CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
)
SET(INFO_INSTALL_DIR
"${SHARE_INSTALL_PREFIX}/info"
CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
)
endif (UNIX)
if (WIN32)
# Same same
set(BIN_INSTALL_DIR "." CACHE PATH "-")
set(SBIN_INSTALL_DIR "." CACHE PATH "-")
set(LIB_INSTALL_DIR "lib" CACHE PATH "-")
set(INCLUDE_INSTALL_DIR "include" CACHE PATH "-")
set(PLUGIN_INSTALL_DIR "plugins" CACHE PATH "-")
set(HTML_INSTALL_DIR "doc/HTML" CACHE PATH "-")
set(ICON_INSTALL_DIR "." CACHE PATH "-")
set(SOUND_INSTALL_DIR "." CACHE PATH "-")
set(LOCALE_INSTALL_DIR "lang" CACHE PATH "-")
endif (WIN32)
gfal2-v2.23.0/cmake/modules/FindCGSI_GSOAP.cmake 0000664 0000000 0000000 00000004074 14652400145 0020776 0 ustar 00root root 0000000 0000000 #
# This module detects if CGSI_GSOAP is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# CGSI_GSOAP_LIBRARIES = full path to the CGSI_GSOAP libraries
# CGSI_GSOAP_INCLUDE_DIRS = include dir to be used when using the CGSI_GSOAP library
# CGSI_GSOAP_FOUND = set to true if CGSI_GSOAP was found successfully
#
# CGSI_GSOAP_LOCATION
# setting this enables search for CGSI_GSOAP libraries / headers in this location
include(CMakeStringHelpers)
# -----------------------------------------------------
# CGSI_GSOAP Libraries
# -----------------------------------------------------
find_library(CGSI_GSOAP_LIBRARIES
NAMES cgsi_plugin
HINTS
${CGSI_GSOAP_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/cgsi-gsoap/lib
${CMAKE_INSTALL_PREFIX}/opt/cgsi-gsoap/lib64
DOC "The main CGSI_GSOAP library"
)
# -----------------------------------------------------
# CGSI_GSOAP Include Directories
# -----------------------------------------------------
find_path(CGSI_GSOAP_INCLUDE_DIRS
NAMES cgsi_plugin.h
HINTS ${CGSI_GSOAP_LOCATION}
${STAGE_DIR}/include
${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}
${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/include
DOC "The CGSI_GSOAP include directory"
)
if(CGSI_GSOAP_INCLUDE_DIRS)
message(STATUS "CGSI_GSOAP includes found in ${CGSI_GSOAP_INCLUDE_DIRS}")
endif()
if(CGSI_GSOAP_LIBRARIES)
message(STATUS "CGSI_GSOAP libraries found in ${CGSI_GSOAP_LIBRARIES}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set CGSI_GSOAP_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(CGSI_GSOAP DEFAULT_MSG CGSI_GSOAP_LIBRARIES)
mark_as_advanced(CGSI_GSOAP_INCLUDE_DIRS CGSI_GSOAP_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindCryptopp.cmake 0000664 0000000 0000000 00000003627 14652400145 0021143 0 ustar 00root root 0000000 0000000 #
# Copyright (c) CERN 2023
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This code sets the following variables:
#
# CRYPTOPP_LIBRARIES = full path to the cryptopp libraries
# CRYPTOPP_INCLUDE_DIRS = include dir to be used when using the cryptopp library
# CRYPTOPP_FOUND = set to true if cryptopp was found successfully
# -----------------------------------------------------
# Cryptopp Libraries
# -----------------------------------------------------
find_library(CRYPTOPP_LIBRARIES
NAMES cryptopp
HINTS ${CRYPTOPP_LOCATION}
/lib /lib64 /usr/lib /usr/lib64
DOC "The cryptopp library"
)
# -----------------------------------------------------
# Cryptopp Include Directories
# -----------------------------------------------------
find_path(CRYPTOPP_INCLUDE_DIRS
NAMES base64.h # header for base64 encoding, not processor architecture
HINTS ${CRYPTOPP_LOCATION}
/usr/include/cryptopp
DOC "The cryptopp headers"
)
# -------------------------------------------------------------------
# Handle the QUIETLY and REQUIRED arguments
# and set CRYPTOPP to TRUE if all listed variables are TRUE
# -------------------------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(cryptopp DEFAULT_MSG
CRYPTOPP_LIBRARIES CRYPTOPP_INCLUDE_DIRS)
mark_as_advanced(CRYPTOPP_LIBRARIES CRYPTOPP_INCLUDE_DIRS)
gfal2-v2.23.0/cmake/modules/FindDCAP.cmake 0000664 0000000 0000000 00000003611 14652400145 0020023 0 ustar 00root root 0000000 0000000 #
# This module detects if DCAP is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# DCAP_LIBRARIES = full path to the DCAP libraries
# DCAP_INCLUDE_DIR = include dir to be used when using the DCAP library
# DCAP_FOUND = set to true if DCAP was found successfully
#
# DCAP_LOCATION
# setting this enables search for DCAP libraries / headers in this location
# -----------------------------------------------------
# DCAP Libraries
# -----------------------------------------------------
find_library(DCAP_LIBRARIES
NAMES dcap
HINTS ${DCAP_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/lib64
DOC "The main DCAP library"
)
# -----------------------------------------------------
# DCAP Include Directories
# -----------------------------------------------------
find_path(DCAP_INCLUDE_DIR
NAMES dcap.h
HINTS ${DCAP_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/include
DOC "The DCAP include directory"
)
if (DCAP_LIBRARIES)
message (STATUS "DCAP libraries found in ${DCAP_LIBRARIES}")
endif (DCAP_LIBRARIES)
if(DCAP_INCLUDE_DIR)
message(STATUS "DCAP includes found in ${DCAP_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set DCAP_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DCAP DEFAULT_MSG DCAP_LIBRARIES DCAP_INCLUDE_DIR)
mark_as_advanced(DCAP_INCLUDE_DIR DCAP_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindDPM.cmake 0000664 0000000 0000000 00000005145 14652400145 0017740 0 ustar 00root root 0000000 0000000 #
# This module detects if dpm is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# DPM_LIBRARIES = full path to the dpm libraries
# DPM_INCLUDE_DIR = include dir to be used when using the dpm library
# DPM_FOUND = set to true if dpm was found successfully
#
# DPM_LOCATION
# setting this enables search for dpm libraries / headers in this location
# -----------------------------------------------------
# DPM Libraries
# -----------------------------------------------------
find_library(DPM_LIBRARIES
NAMES dpm
HINTS ${DPM_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/
DOC "The main dpm library"
)
# -----------------------------------------------------
# LCGDM Libraries
# -----------------------------------------------------
find_library(LCGDM_LIBRARIES
NAMES lcgdm
HINTS ${DPM_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/
DOC "The main lcgdm library"
)
# -----------------------------------------------------
# DPM Include Directories
# -----------------------------------------------------
find_path(DPM_INCLUDE_DIR
NAMES dpm/dpm_api.h
HINTS ${DPM_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/
DOC "The dpm include directory"
)
if(DPM_INCLUDE_DIR)
message(STATUS "dpm includes found in ${DPM_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# LCGDM Include Directories
# -----------------------------------------------------
find_path(LCGDM_INCLUDE_DIR
NAMES Cinit.h
HINTS ${LCGDM_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/dcap/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/dcap/*/${PLATFORM}/
DOC "The LCGDM include directory"
)
if(LCGDM_INCLUDE_DIR)
message(STATUS "lcgdm includes found in ${LCGDM_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set DPM_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(dpm DEFAULT_MSG DPM_LIBRARIES DPM_INCLUDE_DIR)
find_package_handle_standard_args(lcgdm DEFAULT_MSG LCGDM_LIBRARIES LCGDM_INCLUDE_DIR)
mark_as_advanced(DPM_INCLUDE_DIR DPM_LIBRARIES)
mark_as_advanced(LCGDM_INCLUDE_DIR LCGDM_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindDavix.cmake 0000664 0000000 0000000 00000005564 14652400145 0020400 0 ustar 00root root 0000000 0000000 #
# This module detects if Davix is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# DAVIX_LIBRARIES = full path to the Davix libraries
# DAVIX_INCLUDE_DIR = include dir to be used when using the Davix library
# DAVIX_FOUND = set to true if Davix was found successfully
#
# DAVIX_LOCATION
# setting this enables search for Davix libraries / headers in this location
# -----------------------------------------------------
# Try with pkgconfig first
# -----------------------------------------------------
pkg_check_modules(DAVIX_PKG davix>=0.7.6)
pkg_check_modules(DAVIX_COPY_PKG davix_copy>=0.7.6)
if (DAVIX_PKG_FOUND AND DAVIX_COPY_PKG_FOUND)
set (DAVIX_INCLUDE_DIR "${DAVIX_PKG_INCLUDE_DIRS}" "${DAVIX_COPY_PKG_INCLUDE_DIRS}")
set (DAVIX_LIBRARIES "${DAVIX_PKG_LIBRARIES}" "${DAVIX_COPY_PKG_LIBRARIES}")
set (DAVIX_CFLAGS "${DAVIX_PKG_CFLAGS} ${DAVIX_COPY_PKG_FLAGS}")
else ()
# Davix Libraries
find_library(DAVIX_MAIN_LIBRARY
NAMES davix
HINTS
${DAVIX_LOCATION}/lib ${DAVIX_LOCATION}/lib64 ${DAVIX_LOCATION}/lib32
${STAGE_DIR}/lib ${STAGE_DIR}/lib64
${CMAKE_INSTALL_PREFIX}/Davix/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Davix/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/lib
DOC "The main davix library"
)
find_library(DAVIX_COPY_LIBRARY
NAMES davix_copy
HINTS
${DAVIX_LOCATION}/lib ${DAVIX_LOCATION}/lib64 ${DAVIX_LOCATION}/lib32
${STAGE_DIR}/lib ${STAGE_DIR}/lib64
${CMAKE_INSTALL_PREFIX}/Davix/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Davix/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/lib
DOC "The davix copy library"
)
set (DAVIX_LIBRARIES ${DAVIX_MAIN_LIBRARY} ${DAVIX_COPY_LIBRARY})
# Davix Include Directories
find_path(DAVIX_INCLUDE_DIR
NAMES davix.hpp
HINTS
${DAVIX_LOCATION} ${DAVIX_LOCATION}/include ${DAVIX_LOCATION}/include/*
${STAGE_DIR}/include ${STAGE_DIR}/include
${CMAKE_INSTALL_PREFIX}/Davix/*/${PLATFORM}/include/*
${CMAKE_INSTALL_PREFIX}/include/davix
DOC "Davix include directory"
)
set (DAVIX_CFLAGS "")
endif()
if (DAVIX_LIBRARIES)
message (STATUS "DAVIX libraries: ${DAVIX_LIBRARIES}")
endif (DAVIX_LIBRARIES)
if(DAVIX_INCLUDE_DIR)
message(STATUS "DAVIX includes found in ${DAVIX_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set DAVIX_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(DAVIX DEFAULT_MSG DAVIX_LIBRARIES DAVIX_INCLUDE_DIR)
mark_as_advanced(DAVIX_LIBRARIES DAVIX_INCLUDE_DIR DAVIX_CFLAGS)
gfal2-v2.23.0/cmake/modules/FindGFAL2.cmake 0000664 0000000 0000000 00000005005 14652400145 0020106 0 ustar 00root root 0000000 0000000 #
# This module detects if gfal2 is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GFAL2_LIBRARIES = full path to the gfal2 libraries
# GFAL2_INCLUDE_DIR = include dir to be used when using the gfal2 library
# GFAL2_FOUND = set to true if gfal2 was found successfully
#
# GFAL2_LOCATION
# setting this enables search for gfal2 libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GFAL2_PKG gfal2)
pkg_check_modules(GFAL2_TRANSFER_PKG gfal_transfer)
if (GFAL2_PKG_FOUND AND GFAL2_TRANSFER_PKG_FOUND)
set (GFAL2_LIBRARIES ${GFAL2_PKG_LIBRARIES} ${GFAL2_TRANSFER_PKG_LIBRARIES})
set (GFAL2_INCLUDE_DIRS ${GFAL2_PKG_INCLUDE_DIRS} ${GFAL2_TRANSFER_PKG_INCLUDE_DIRS})
set (GFAL2_DEFINITIONS "${GFAL2_PKG_CFLAGS} ${GFAL2_TRANSFER_PKG_CFLAGS}")
set (GFAL2_LIBRARY_DIRS ${GFAL2_PKG_LIBRARY_DIRS})
else (GFAL2_PKG_FOUND AND GFAL2_TRANSFER_PKG_FOUND)
find_library(GFAL2_CORE_LIBRARIES
NAMES gfal2
HINTS ${GFAL2_LOCATION}
${CMAKE_INSTALL_PREFIX}/Grid/gfal2/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/gfal2/*/${PLATFORM}/lib64
DOC "The main gfal2 library"
)
find_library(GFAL2_TRANSFER_LIBRARIES
NAMES gfal_transfer
HINTS ${GFAL2_LOCATION}
${CMAKE_INSTALL_PREFIX}/Grid/gfal2/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/gfal2/*/${PLATFORM}/lib64
DOC "The transfer gfal2 library"
)
set (GFAL2_LIBRARIES ${GFAL2_CORE_LIBRARIES} ${GFAL2_TRANSFER_LIBRARIES})
find_path(GFAL2_INCLUDE_DIRS
NAMES gfal_api.h
HINTS ${GFAL2_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/Grid/gfal2/*/${PLATFORM}/include/*
DOC "The gfal2 include directory"
)
set (GFAL2_DEFINITIONS "")
endif (GFAL2_PKG_FOUND AND GFAL2_TRANSFER_PKG_FOUND)
if (GFAL2_LIBRARIES)
message (STATUS "GFAL2 libraries: ${GFAL2_LIBRARIES}")
endif (GFAL2_LIBRARIES)
if (GFAL2_INCLUDE_DIRS)
message (STATUS "GFAL2 include dir: ${GFAL2_INCLUDE_DIRS}")
endif (GFAL2_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GFAL2_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GFAL2 DEFAULT_MSG
GFAL2_LIBRARIES GFAL2_INCLUDE_DIRS
)
mark_as_advanced(GFAL2_INCLUDE_DIRS GFAL2_LIBRARIES GFAL2_LIBRARY_DIRS)
gfal2-v2.23.0/cmake/modules/FindGLIB2.cmake 0000664 0000000 0000000 00000003745 14652400145 0020123 0 ustar 00root root 0000000 0000000 #
# This module detects if glib2 is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLIB2_LIBRARIES = full path to the glib2 libraries
# GLIB2_INCLUDE_DIR = include dir to be used when using the glib2 library
# GLIB2_FOUND = set to true if glib2 was found successfully
#
# GLIB2_LOCATION
# setting this enables search for glib2 libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules (GLIB2_PKG glib-2.0)
if (GLIB2_PKG_FOUND)
set (GLIB2_LIBRARIES ${GLIB2_PKG_LIBRARIES})
set (GLIB2_INCLUDE_DIRS ${GLIB2_PKG_INCLUDE_DIRS})
set (GLIB2_DEFINITIONS "${GLIB2_PKG_CFLAGS} ${GLIB2_PKG_CFLAGS_OTHER}")
set (GLIB2_LIBRARY_DIRS ${GLIB2_PKG_LIBRARY_DIRS})
else (GLIB2_PKG_FOUND)
find_library(GLIB2_LIBRARIES
NAMES libglib-2.0
HINTS ${GLIB2_LOCATION}
${CMAKE_INSTALL_PREFIX}/glib2/*/${PLATFORM}/
DOC "The main glib2 library"
)
find_path(GLIB2_INCLUDE_DIRS
NAMES glib.h
HINTS ${GLIB2_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/glib2/*/${PLATFORM}/
DOC "The glib2 include directory"
)
set (GLIB2_DEFINITIONS "")
endif (GLIB2_PKG_FOUND)
if (GLIB2_LIBRARIES)
message (STATUS "GLIB2 libraries: ${GLIB2_LIBRARIES}")
endif (GLIB2_LIBRARIES)
if (GLIB2_INCLUDE_DIRS)
message (STATUS "GLIB2 include dir: ${GLIB2_INCLUDE_DIRS}")
endif (GLIB2_INCLUDE_DIRS)
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
link_directories ("${CMAKE_INSTALL_PREFIX}/opt/gettext/lib")
endif ()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLIB2_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLIB2 DEFAULT_MSG
GLIB2_LIBRARIES GLIB2_INCLUDE_DIRS
)
mark_as_advanced(GLIB2_INCLUDE_DIRS GLIB2_LIBRARIES GLIB2_LIBRARY_DIRS)
gfal2-v2.23.0/cmake/modules/FindGRIDFTP_IFCE.cmake 0000664 0000000 0000000 00000003305 14652400145 0021201 0 ustar 00root root 0000000 0000000 #
# This module detects if GRIDFTP_IFCE is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GRIDFTP_IFCE_LIBRARIES = full path to the dpm libraries
# GRIDFTP_IFCE_INCLUDE_DIR = include dir to be used when using the dpm library
# GRIDFTP_IFCE_FOUND = set to true if dpm was found successfully
#
# GRIDFTP_IFCE_LOCATION
# setting this enables search for dpm libraries / headers in this location
# -----------------------------------------------------
# DPM Libraries
# -----------------------------------------------------
find_library(GRIDFTP_IFCE_LIBRARIES
NAMES gridftp_ifce
HINTS ${GRIDFTP_IFCE_LOCATION}/lib ${GRIDFTP_IFCE_LOCATION}/lib64 ${GRIDFTP_IFCE_LOCATION}/lib32
DOC "The main gridftp_ifce library"
)
# -----------------------------------------------------
# GRIDFTP_IFCE Include Directories
# -----------------------------------------------------
find_path(GRIDFTP_IFCE_INCLUDE_DIR
NAMES gridftp-ifce.h
HINTS ${GRIDFTP_IFCE_LOCATION} ${GRIDFTP_IFCE_LOCATION}/include ${GRIDFTP_IFCE_LOCATION}/include/*
DOC "The gridftp-ifce.h include directory"
)
if(GRIDFTP_IFCE_INCLUDE_DIR)
message(STATUS "gridftp_ifce includes found in ${GRIDFTP_IFCE_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GRIDFTP_IFCE_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(gridftp_ifce DEFAULT_MSG GRIDFTP_IFCE_LIBRARIES GRIDFTP_IFCE_INCLUDE_DIR)
mark_as_advanced(GRIDFTP_IFCE_INCLUDE_DIR GRIDFTP_IFCE_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGTEST.cmake 0000664 0000000 0000000 00000003763 14652400145 0020212 0 ustar 00root root 0000000 0000000 #
# This module detects if GTEST is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GTEST_LIBRARIES = full path to the GTEST libraries
# GTEST_SSL_LIBRARIES = full path to the GTEST ssl libraries
# GTEST_INCLUDE_DIR = include dir to be used when using the GTEST library
# GTEST_WSDL2H = wsdl2h binary
# GTEST_SOAPCPP2 = soapcpp2 binary
# GTEST_FOUND = set to true if GTEST was found successfully
#
# GTEST_LOCATION
# setting this enables search for GTEST libraries / headers in this location
# -----------------------------------------------------
# GTEST Libraries
# -----------------------------------------------------
find_library(GTEST_LIBRARIES
NAMES gtest
HINTS ${GTEST_LOCATION}/lib ${GTEST_LOCATION}/lib64
${GTEST_LOCATION}/lib32
DOC "The main GTEST library"
)
# -----------------------------------------------------
# GTEST Libraries
# -----------------------------------------------------
find_library(GTEST_MAIN_LIBRARIES
NAMES gtest_main
HINTS ${GTEST_LOCATION}/lib ${GTEST_LOCATION}/lib64
${GTEST_LOCATION}/lib32
DOC "The main GTEST main library"
)
# -----------------------------------------------------
# GTEST Include Directories
# -----------------------------------------------------
find_path(GTEST_INCLUDE_DIR
NAMES gtest.h
HINTS ${GTEST_LOCATION} ${GTEST_LOCATION}/include ${GTEST_LOCATION}/include/gtest ${GTEST_LOCATION}/include/* /usr/include/gtest
DOC "The GTEST include directory"
)
SET(GTEST_DEFINITIONS "")
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GTEST_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GTEST DEFAULT_MSG GTEST_LIBRARIES GTEST_MAIN_LIBRARIES
GTEST_INCLUDE_DIR)
mark_as_advanced(GTEST_INCLUDE_DIR GTEST_LIBRARIES )
gfal2-v2.23.0/cmake/modules/FindGTHREAD2.cmake 0000664 0000000 0000000 00000003643 14652400145 0020461 0 ustar 00root root 0000000 0000000 #
# This module detects if gthread2 is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GTHREAD2_LIBRARIES = full path to the glib2 libraries
# GTHREAD2_INCLUDE_DIR = include dir to be used when using the glib2 library
# GTHREAD2_FOUND = set to true if glib2 was found successfully
#
# GTHREAD2_LOCATION
# setting this enables search for gthread2 libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GTHREAD2_PKG gthread-2.0)
if (GTHREAD2_PKG_FOUND)
set (GTHREAD2_LIBRARIES ${GTHREAD2_PKG_LIBRARIES})
set (GTHREAD2_INCLUDE_DIRS ${GTHREAD2_PKG_INCLUDE_DIRS})
set (GTHREAD2_DEFINITIONS "${GTHREAD2_PKG_CFLAGS} ${GTHREAD2_PKG_CFLAGS_OTHER}")
else (GTHREAD2_PKG_FOUND)
find_library(GTHREAD2_LIBRARIES
NAMES libgthread-2.0.so.0
HINTS ${GTHREAD2_LOCATION}
${CMAKE_INSTALL_PREFIX}/glib2/*/${PLATFORM}/
DOC "The main gthread2 library"
)
find_path(GTHREAD2_INCLUDE_DIRS
NAMES gthread.h
HINTS ${GTHREAD2_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/glib2/*/${PLATFORM}/
DOC "The gthread2 include directory"
)
set (GTHREAD2_DEFINITIONS "")
endif (GTHREAD2_PKG_FOUND)
if (GTHREAD2_LIBRARIES)
message (STATUS "GTHREAD2 libraries: ${GTHREAD2_LIBRARIES}")
endif (GTHREAD2_LIBRARIES)
if (GTHREAD2_INCLUDE_DIRS)
message (STATUS "GTHREAD2 include dir: ${GTHREAD2_INCLUDE_DIRS}")
endif (GTHREAD2_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GTHREAD2_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GTHREAD2 DEFAULT_MSG
GTHREAD2_LIBRARIES GTHREAD2_INCLUDE_DIRS
)
mark_as_advanced(GTHREAD2_INCLUDE_DIRS GTHREAD2_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_COMMON.cmake 0000664 0000000 0000000 00000005070 14652400145 0021620 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-common is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_COMMON_LIBRARIES = full path to the globus-common libraries
# GLOBUS_COMMON_INCLUDE_DIR = include dir to be used when using the globus-common library
# GLOBUS_COMMON_FOUND = set to true if globus-common was found successfully
#
# GLOBUS_COMMON_LOCATION
# setting this enables search for globus-common libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_COMMON_PKG globus-common)
if (GLOBUS_COMMON_PKG_FOUND)
set (GLOBUS_COMMON_LIBRARIES ${GLOBUS_COMMON_PKG_LIBRARIES})
set (GLOBUS_COMMON_INCLUDE_DIRS ${GLOBUS_COMMON_PKG_INCLUDE_DIRS})
set (GLOBUS_COMMON_DEFINITIONS "${GLOBUS_COMMON_PKG_CFLAGS}")
else (GLOBUS_COMMON_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_COMMON_LIBRARIES
NAMES globus_common
HINTS ${GLOBUS_COMMON_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-common library"
)
find_path(GLOBUS_COMMON_INCLUDE_DIRS
NAMES globus_common.h
HINTS ${GLOBUS_COMMON_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-common include directory"
)
set (GLOBUS_COMMON_DEFINITIONS "")
endif (GLOBUS_COMMON_PKG_FOUND)
if (GLOBUS_COMMON_LIBRARIES)
message (STATUS "GLOBUS_COMMON libraries: ${GLOBUS_COMMON_LIBRARIES}")
endif (GLOBUS_COMMON_LIBRARIES)
if (GLOBUS_COMMON_INCLUDE_DIRS)
message (STATUS "GLOBUS_COMMON include dir: ${GLOBUS_COMMON_INCLUDE_DIRS}")
endif (GLOBUS_COMMON_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_COMMON_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_COMMON DEFAULT_MSG
GLOBUS_COMMON_LIBRARIES GLOBUS_COMMON_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_COMMON_INCLUDE_DIRS GLOBUS_COMMON_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_FTP_CLIENT.cmake 0000664 0000000 0000000 00000005350 14652400145 0022320 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-ftp-client is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_FTP_CLIENT_LIBRARIES = full path to the globus-ftp-client libraries
# GLOBUS_FTP_CLIENT_INCLUDE_DIR = include dir to be used when using the globus-ftp-client library
# GLOBUS_FTP_CLIENT_FOUND = set to true if globus-ftp-client was found successfully
#
# GLOBUS_FTP_CLIENT_LOCATION
# setting this enables search for globus-ftp-client libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_FTP_CLIENT_PKG globus-ftp-client)
if (GLOBUS_FTP_CLIENT_PKG_FOUND)
set (GLOBUS_FTP_CLIENT_LIBRARIES ${GLOBUS_FTP_CLIENT_PKG_LIBRARIES})
set (GLOBUS_FTP_CLIENT_INCLUDE_DIRS ${GLOBUS_FTP_CLIENT_PKG_INCLUDE_DIRS})
set (GLOBUS_FTP_CLIENT_DEFINITIONS "${GLOBUS_FTP_CLIENT_PKG_CFLAGS}")
else (GLOBUS_FTP_CLIENT_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_FTP_CLIENT_LIBRARIES
NAMES globus_ftp_client
HINTS ${GLOBUS_FTP_CLIENT_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-ftp-client library"
)
find_path(GLOBUS_FTP_CLIENT_INCLUDE_DIRS
NAMES globus_ftp_client.h
HINTS ${GLOBUS_FTP_CLIENT_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-ftp-client include directory"
)
set (GLOBUS_FTP_CLIENT_DEFINITIONS "")
endif (GLOBUS_FTP_CLIENT_PKG_FOUND)
if (GLOBUS_FTP_CLIENT_LIBRARIES)
message (STATUS "GLOBUS_FTP_CLIENT libraries: ${GLOBUS_FTP_CLIENT_LIBRARIES}")
endif (GLOBUS_FTP_CLIENT_LIBRARIES)
if (GLOBUS_FTP_CLIENT_INCLUDE_DIRS)
message (STATUS "GLOBUS_FTP_CLIENT include dir: ${GLOBUS_FTP_CLIENT_INCLUDE_DIRS}")
endif (GLOBUS_FTP_CLIENT_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_FTP_CLIENT_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_FTP_CLIENT DEFAULT_MSG
GLOBUS_FTP_CLIENT_LIBRARIES GLOBUS_FTP_CLIENT_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_FTP_CLIENT_INCLUDE_DIRS GLOBUS_FTP_CLIENT_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_FTP_CONTROL.cmake 0000664 0000000 0000000 00000005423 14652400145 0022463 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-ftp-control is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_FTP_CONTROL_LIBRARIES = full path to the globus-ftp-control libraries
# GLOBUS_FTP_CONTROL_INCLUDE_DIR = include dir to be used when using the globus-ftp-control library
# GLOBUS_FTP_CONTROL_FOUND = set to true if globus-ftp-control was found successfully
#
# GLOBUS_FTP_CONTROL_LOCATION
# setting this enables search for globus-ftp-control libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_FTP_CONTROL_PKG globus-ftp-control)
if (GLOBUS_FTP_CONTROL_PKG_FOUND)
set (GLOBUS_FTP_CONTROL_LIBRARIES ${GLOBUS_FTP_CONTROL_PKG_LIBRARIES})
set (GLOBUS_FTP_CONTROL_INCLUDE_DIRS ${GLOBUS_FTP_CONTROL_PKG_INCLUDE_DIRS})
set (GLOBUS_FTP_CONTROL_DEFINITIONS "${GLOBUS_FTP_CONTROL_PKG_CFLAGS}")
else (GLOBUS_FTP_CONTROL_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_FTP_CONTROL_LIBRARIES
NAMES globus_ftp_control
HINTS ${GLOBUS_FTP_CONTROL_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-ftp-control library"
)
find_path(GLOBUS_FTP_CONTROL_INCLUDE_DIRS
NAMES globus_ftp_control.h
HINTS ${GLOBUS_FTP_CONTROL_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-ftp-control include directory"
)
set (GLOBUS_FTP_CONTROL_DEFINITIONS "")
endif (GLOBUS_FTP_CONTROL_PKG_FOUND)
if (GLOBUS_FTP_CONTROL_LIBRARIES)
message (STATUS "GLOBUS_FTP_CONTROL libraries: ${GLOBUS_FTP_CONTROL_LIBRARIES}")
endif (GLOBUS_FTP_CONTROL_LIBRARIES)
if (GLOBUS_FTP_CONTROL_INCLUDE_DIRS)
message (STATUS "GLOBUS_FTP_CONTROL include dir: ${GLOBUS_FTP_CONTROL_INCLUDE_DIRS}")
endif (GLOBUS_FTP_CONTROL_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_FTP_CONTROL_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_FTP_CONTROL DEFAULT_MSG
GLOBUS_FTP_CONTROL_LIBRARIES GLOBUS_FTP_CONTROL_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_FTP_CONTROL_INCLUDE_DIRS GLOBUS_FTP_CONTROL_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_GASS_COPY.cmake 0000664 0000000 0000000 00000005214 14652400145 0022217 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-gass-copy is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_GASS_COPY_LIBRARIES = full path to the globus-gass-copy libraries
# GLOBUS_GASS_COPY_INCLUDE_DIR = include dir to be used when using the globus-gass-copy library
# GLOBUS_GASS_COPY_FOUND = set to true if globus-gass-copy was found successfully
#
# GLOBUS_GASS_COPY_LOCATION
# setting this enables search for globus-gass-copy libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_GASS_COPY_PKG globus-gass-copy)
if (GLOBUS_GASS_COPY_PKG_FOUND)
set (GLOBUS_GASS_COPY_LIBRARIES ${GLOBUS_GASS_COPY_PKG_LIBRARIES})
set (GLOBUS_GASS_COPY_INCLUDE_DIRS ${GLOBUS_GASS_COPY_PKG_INCLUDE_DIRS})
set (GLOBUS_GASS_COPY_DEFINITIONS "${GLOBUS_GASS_COPY_PKG_CFLAGS}")
else (GLOBUS_GASS_COPY_PKG_FOUND)
find_library(GLOBUS_GASS_COPY_LIBRARIES
NAMES globus_gass_copy
HINTS ${GLOBUS_GASS_COPY_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-gass-copy library"
)
find_path(GLOBUS_GASS_COPY_INCLUDE_DIRS
NAMES globus_gass_copy.h
HINTS ${GLOBUS_GASS_COPY_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-gass-copy include directory"
)
set (GLOBUS_GASS_COPY_DEFINITIONS "")
endif (GLOBUS_GASS_COPY_PKG_FOUND)
if (GLOBUS_GASS_COPY_LIBRARIES)
message (STATUS "GLOBUS_GSSAPI_GSI libraries: ${GLOBUS_GASS_COPY_LIBRARIES}")
endif (GLOBUS_GASS_COPY_LIBRARIES)
if (GLOBUS_GASS_COPY_INCLUDE_DIRS)
message (STATUS "GLOBUS_GSSAPI_GSI include dir: ${GLOBUS_GASS_COPY_INCLUDE_DIRS}")
endif (GLOBUS_GASS_COPY_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_GASS_COPY_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_GSSAPI_GSI DEFAULT_MSG
GLOBUS_GASS_COPY_LIBRARIES GLOBUS_GASS_COPY_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_GASS_COPY_INCLUDE_DIRS GLOBUS_GASS_COPY_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_GSI_CERT_UTILS.cmake 0000664 0000000 0000000 00000005624 14652400145 0023054 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-gsi-cert-utils is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_GSI_CERT_UTILS_LIBRARIES = full path to the globus-gsi-cert-utils libraries
# GLOBUS_GSI_CERT_UTILS_INCLUDE_DIR = include dir to be used when using the globus-gsi-cert-utils library
# GLOBUS_GSI_CERT_UTILS_FOUND = set to true if globus-gsi-cert-utils was found successfully
#
# GLOBUS_GSI_CERT_UTILS_LOCATION
# setting this enables search for globus-gsi-cert-utils libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_GSI_CERT_UTILS_PKG globus-gsi-cert-utils)
if (GLOBUS_GSI_CERT_UTILS_PKG_FOUND)
set (GLOBUS_GSI_CERT_UTILS_LIBRARIES ${GLOBUS_GSI_CERT_UTILS_PKG_LIBRARIES})
set (GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS ${GLOBUS_GSI_CERT_UTILS_PKG_INCLUDE_DIRS})
set (GLOBUS_GSI_CERT_UTILS_DEFINITIONS "${GLOBUS_GSI_CERT_UTILS_PKG_CFLAGS}")
else (GLOBUS_GSI_CERT_UTILS_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_GSI_CERT_UTILS_LIBRARIES
NAMES globus_gsi_cert_utils
HINTS ${GLOBUS_GSI_CERT_UTILS_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-gsi-cert-utils library"
)
find_path(GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS
NAMES globus_gsi_cert_utils.h
HINTS ${GLOBUS_GSI_CERT_UTILS_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-gsi-cert-utils include directory"
)
set (GLOBUS_GSI_CERT_UTILS_DEFINITIONS "")
endif (GLOBUS_GSI_CERT_UTILS_PKG_FOUND)
if (GLOBUS_GSI_CERT_UTILS_LIBRARIES)
message (STATUS "GLOBUS_GSI_CERT_UTILS libraries: ${GLOBUS_GSI_CERT_UTILS_LIBRARIES}")
endif (GLOBUS_GSI_CERT_UTILS_LIBRARIES)
if (GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS)
message (STATUS "GLOBUS_GSI_CERT_UTILS include dir: ${GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS}")
endif (GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_GSI_CERT_UTILS_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_GSI_CERT_UTILS DEFAULT_MSG
GLOBUS_GSI_CERT_UTILS_LIBRARIES GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_GSI_CERT_UTILS_INCLUDE_DIRS GLOBUS_GSI_CERT_UTILS_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_GSI_CREDENTIAL.cmake 0000664 0000000 0000000 00000005624 14652400145 0022751 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-gsi-credential is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_GSI_CREDENTIAL_LIBRARIES = full path to the globus-gsi-credential libraries
# GLOBUS_GSI_CREDENTIAL_INCLUDE_DIR = include dir to be used when using the globus-gsi-credential library
# GLOBUS_GSI_CREDENTIAL_FOUND = set to true if globus-gsi-credential was found successfully
#
# GLOBUS_GSI_CREDENTIAL_LOCATION
# setting this enables search for globus-gsi-credential libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_GSI_CREDENTIAL_PKG globus-gsi-credential)
if (GLOBUS_GSI_CREDENTIAL_PKG_FOUND)
set (GLOBUS_GSI_CREDENTIAL_LIBRARIES ${GLOBUS_GSI_CREDENTIAL_PKG_LIBRARIES})
set (GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS ${GLOBUS_GSI_CREDENTIAL_PKG_INCLUDE_DIRS})
set (GLOBUS_GSI_CREDENTIAL_DEFINITIONS "${GLOBUS_GSI_CREDENTIAL_PKG_CFLAGS}")
else (GLOBUS_GSI_CREDENTIAL_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_GSI_CREDENTIAL_LIBRARIES
NAMES globus_gsi_credential
HINTS ${GLOBUS_GSI_CREDENTIAL_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-gsi-credential library"
)
find_path(GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS
NAMES globus_gsi_credential.h
HINTS ${GLOBUS_GSI_CREDENTIAL_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-gsi-credential include directory"
)
set (GLOBUS_GSI_CREDENTIAL_DEFINITIONS "")
endif (GLOBUS_GSI_CREDENTIAL_PKG_FOUND)
if (GLOBUS_GSI_CREDENTIAL_LIBRARIES)
message (STATUS "GLOBUS_GSI_CREDENTIAL libraries: ${GLOBUS_GSI_CREDENTIAL_LIBRARIES}")
endif (GLOBUS_GSI_CREDENTIAL_LIBRARIES)
if (GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS)
message (STATUS "GLOBUS_GSI_CREDENTIAL include dir: ${GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS}")
endif (GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_GSI_CREDENTIAL_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_GSI_CREDENTIAL DEFAULT_MSG
GLOBUS_GSI_CREDENTIAL_LIBRARIES GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_GSI_CREDENTIAL_INCLUDE_DIRS GLOBUS_GSI_CREDENTIAL_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_GSSAPI_GSI.cmake 0000664 0000000 0000000 00000005335 14652400145 0022324 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-gssapi-gsi is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_GSSAPI_GSI_LIBRARIES = full path to the globus-gssapi-gsi libraries
# GLOBUS_GSSAPI_GSI_INCLUDE_DIR = include dir to be used when using the globus-gssapi-gsi library
# GLOBUS_GSSAPI_GSI_FOUND = set to true if globus-gssapi-gsi was found successfully
#
# GLOBUS_GSSAPI_GSI_LOCATION
# setting this enables search for globus-gssapi-gsi libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_GSSAPI_GSI_PKG globus-gssapi-gsi)
if (GLOBUS_GSSAPI_GSI_PKG_FOUND)
set (GLOBUS_GSSAPI_GSI_LIBRARIES ${GLOBUS_GSSAPI_GSI_PKG_LIBRARIES})
set (GLOBUS_GSSAPI_GSI_INCLUDE_DIRS ${GLOBUS_GSSAPI_GSI_PKG_INCLUDE_DIRS})
set (GLOBUS_GSSAPI_GSI_DEFINITIONS "${GLOBUS_GSSAPI_GSI_PKG_CFLAGS}")
else (GLOBUS_GSSAPI_GSI_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_GSSAPI_GSI_LIBRARIES
NAMES globus_gssapi_gsi
HINTS ${GLOBUS_GSSAPI_GSI_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-gssapi-gsi library"
)
find_path(GLOBUS_GSSAPI_GSI_INCLUDE_DIRS
NAMES gssapi.h
HINTS ${GLOBUS_GSSAPI_GSI_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-gssapi-gsi include directory"
)
set (GLOBUS_GSSAPI_GSI_DEFINITIONS "")
endif (GLOBUS_GSSAPI_GSI_PKG_FOUND)
if (GLOBUS_GSSAPI_GSI_LIBRARIES)
message (STATUS "GLOBUS_GSSAPI_GSI libraries: ${GLOBUS_GSSAPI_GSI_LIBRARIES}")
endif (GLOBUS_GSSAPI_GSI_LIBRARIES)
if (GLOBUS_GSSAPI_GSI_INCLUDE_DIRS)
message (STATUS "GLOBUS_GSSAPI_GSI include dir: ${GLOBUS_GSSAPI_GSI_INCLUDE_DIRS}")
endif (GLOBUS_GSSAPI_GSI_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_GSSAPI_GSI_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_GSSAPI_GSI DEFAULT_MSG
GLOBUS_GSSAPI_GSI_LIBRARIES GLOBUS_GSSAPI_GSI_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_GSSAPI_GSI_INCLUDE_DIRS GLOBUS_GSSAPI_GSI_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_GSS_ASSIST.cmake 0000664 0000000 0000000 00000005276 14652400145 0022362 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-gssapi-gsi is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_GSS_ASSIST_LIBRARIES = full path to the globus-gssapi-gsi libraries
# GLOBUS_GSS_ASSIST_INCLUDE_DIR = include dir to be used when using the globus-gssapi-gsi library
# GLOBUS_GSS_ASSIST_FOUND = set to true if globus-gssapi-gsi was found successfully
#
# GLOBUS_GSS_ASSIST_LOCATION
# setting this enables search for globus-gssapi-gsi libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_GSS_ASSIST_PKG globus-gss-assist)
if (GLOBUS_GSS_ASSIST_PKG_FOUND)
set (GLOBUS_GSS_ASSIST_LIBRARIES ${GLOBUS_GSS_ASSIST_PKG_LIBRARIES})
set (GLOBUS_GSS_ASSIST_INCLUDE_DIRS ${GLOBUS_GSS_ASSIST_PKG_INCLUDE_DIRS})
set (GLOBUS_GSS_ASSIST_DEFINITIONS "${GLOBUS_GSS_ASSIST_PKG_CFLAGS}")
else (GLOBUS_GSS_ASSIST_PKG_FOUND)
find_library(GLOBUS_GSS_ASSIST_LIBRARIES
NAMES globus_gss_assist
HINTS ${GLOBUS_GSS_ASSIST_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-gssapi-gsi library"
)
find_path(GLOBUS_GSS_ASSIST_INCLUDE_DIRS
NAMES globus_gss_assist.h
HINTS ${GLOBUS_GSS_ASSIST_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-gss-assist include directory"
)
set (GLOBUS_GSS_ASSIST_DEFINITIONS "")
endif (GLOBUS_GSS_ASSIST_PKG_FOUND)
if (GLOBUS_GSS_ASSIST_LIBRARIES)
message (STATUS "GLOBUS GSS ASSIST libraries: ${GLOBUS_GSS_ASSIST_LIBRARIES}")
endif (GLOBUS_GSS_ASSIST_LIBRARIES)
if (GLOBUS_GSS_ASSIST_INCLUDE_DIRS)
message (STATUS "GLOBUS GSS ASSIST include dir: ${GLOBUS_GSS_ASSIST_INCLUDE_DIRS}")
endif (GLOBUS_GSS_ASSIST_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_GSS_ASSIST_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_ASSIST DEFAULT_MSG
GLOBUS_GSS_ASSIST_LIBRARIES GLOBUS_GSS_ASSIST_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_GSS_ASSIST_INCLUDE_DIRS GLOBUS_GSS_ASSIST_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindGlobus_OPENSSL.cmake 0000664 0000000 0000000 00000005156 14652400145 0021760 0 ustar 00root root 0000000 0000000 #
# This module detects if globus-openssl is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GLOBUS_OPENSSL_LIBRARIES = full path to the globus-openssl libraries
# GLOBUS_OPENSSL_INCLUDE_DIR = include dir to be used when using the globus-openssl library
# GLOBUS_OPENSSL_FOUND = set to true if globus-openssl was found successfully
#
# GLOBUS_OPENSSL_LOCATION
# setting this enables search for globus-openssl libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(GLOBUS_OPENSSL_PKG globus-openssl-module)
if (GLOBUS_OPENSSL_PKG_FOUND)
set (GLOBUS_OPENSSL_LIBRARIES ${GLOBUS_OPENSSL_PKG_LIBRARIES})
set (GLOBUS_OPENSSL_INCLUDE_DIRS ${GLOBUS_OPENSSL_PKG_INCLUDE_DIRS})
set (GLOBUS_OPENSSL_DEFINITIONS "${GLOBUS_OPENSSL_PKG_CFLAGS}")
else (GLOBUS_OPENSSL_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(GLOBUS_OPENSSL_LIBRARIES
NAMES globus_openssl
HINTS ${GLOBUS_OPENSSL_LOCATION}
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/lib
${GLOBUS_PREFIX}/libexec/lib
DOC "The main globus-openssl library"
)
find_path(GLOBUS_OPENSSL_INCLUDE_DIRS
NAMES globus_openssl.h
HINTS ${GLOBUS_OPENSSL_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/globus/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
${CMAKE_INSTALL_PREFIX}/opt/globus-toolkit/libexec/include
${GLOBUS_PREFIX}/libexec/include
DOC "The globus-openssl include directory"
)
set (GLOBUS_OPENSSL_DEFINITIONS "")
endif (GLOBUS_OPENSSL_PKG_FOUND)
if (GLOBUS_OPENSSL_LIBRARIES)
message (STATUS "GLOBUS_OPENSSL libraries: ${GLOBUS_OPENSSL_LIBRARIES}")
endif (GLOBUS_OPENSSL_LIBRARIES)
if (GLOBUS_OPENSSL_INCLUDE_DIRS)
message (STATUS "GLOBUS_OPENSSL include dir: ${GLOBUS_OPENSSL_INCLUDE_DIRS}")
endif (GLOBUS_OPENSSL_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GLOBUS_OPENSSL_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (GLOBUS_OPENSSL DEFAULT_MSG
GLOBUS_OPENSSL_LIBRARIES GLOBUS_OPENSSL_INCLUDE_DIRS
)
mark_as_advanced(GLOBUS_OPENSSL_INCLUDE_DIRS GLOBUS_OPENSSL_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindJSONC.cmake 0000664 0000000 0000000 00000001310 14652400145 0020162 0 ustar 00root root 0000000 0000000 # Find json-c
find_package (PkgConfig)
pkg_check_modules(JSONC_PKG json-c)
if (JSONC_PKG_FOUND)
set (JSONC_LIBRARIES ${JSONC_PKG_LIBRARIES})
set (JSONC_INCLUDE_DIRS ${JSONC_PKG_INCLUDE_DIRS})
else (JSONC_PKG)
find_library(JSONC_LIBRARIES
NAMES json-c json
HINTS /lib /lib64 /usr/lib /usr/lib64
DOC "json-c library"
)
find_path(JSONC_INCLUDE_DIRS
NAMES json.h
HINTS /usr/include/json /usr/include/json-c
DOC "json-c headers"
)
endif (JSONC_PKG_FOUND)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(json-c
DEFAULT_MSG JSONC_LIBRARIES JSONC_INCLUDE_DIRS
)
mark_as_advanced(JSONC_INCLUDE_DIRS JSONC_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindLFC.cmake 0000664 0000000 0000000 00000004046 14652400145 0017723 0 ustar 00root root 0000000 0000000 #
# This module detects if LFC is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# LFC_LIBRARIES = full path to the LFC libraries
# LFC_INCLUDE_DIR = include dir to be used when using the LFC library
# LFC_FOUND = set to true if LFC was found successfully
#
# LFC_LOCATION
# setting this enables search for LFC libraries / headers in this location
# -----------------------------------------------------
# LFC Libraries
# -----------------------------------------------------
find_library(LFC_LIBRARIES
NAMES lfc lcgdm
HINTS ${LFC_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/lfc/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/lfc/*/${PLATFORM}/
DOC "The main LFC library"
)
# -----------------------------------------------------
# LFC Include Directories
# -----------------------------------------------------
find_path(LFC_INCLUDE_DIR
NAMES lfc/lfc_api.h
HINTS ${LFC_LOCATION}
${STAGE_DIR}
${CMAKE_INSTALL_PREFIX}/lfc/*/${PLATFORM}/
${CMAKE_INSTALL_PREFIX}/Grid/lfc/*/${PLATFORM}/
DOC "The LFC include directory"
)
if(LFC_INCLUDE_DIR)
message(STATUS "LFC includes found in ${LFC_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# LCGDM Include Directories
# -----------------------------------------------------
find_path(LCGDM_INCLUDE_DIR
NAMES Cinit.h
HINTS ${LCGDM_LOCATION} ${LCGDM_LOCATION}/include
${LCGDM_LOCATION}/include/lcgdm /usr/include/lcgdm
${LCGDM_LOCATION}/include/dpm /usr/include/dpm /usr/include/lfc
DOC "The LCGDM include directory"
)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set LFC_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LFC DEFAULT_MSG LFC_LIBRARIES LFC_INCLUDE_DIR)
mark_as_advanced(LFC_INCLUDE_DIR LFC_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindLIBSSH2.cmake 0000664 0000000 0000000 00000003677 14652400145 0020376 0 ustar 00root root 0000000 0000000 #
# This module detects if libssh2 is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# LIBSSH2_LIBRARIES = full path to the libssh2 libraries
# LIBSSH2_INCLUDE_DIR = include dir to be used when using the libssh2 library
# LIBSSH2_FOUND = set to true if libssh2 was found successfully
#
# LIBSSH2_LOCATION
# setting this enables search for libssh2 libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(LIBSSH2_PKG libssh2)
if (LIBSSH2_PKG_FOUND)
set (LIBSSH2_LIBRARIES ${LIBSSH2_PKG_LIBRARIES})
set (LIBSSH2_INCLUDE_DIRS ${LIBSSH2_PKG_INCLUDE_DIRS})
set (LIBSSH2_DEFINITIONS "${LIBSSH2_PKG_CFLAGS}")
else (LIBSSH2_PKG_FOUND)
set (CMAKE_FIND_FRAMEWORK NEVER)
find_library(LIBSSH2_LIBRARIES
NAMES ssh2
HINTS ${LIBSSH2_LOCATION}
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/lib64
DOC "The main libssh2 library"
)
find_path(LIBSSH2_INCLUDE_DIRS
NAMES libssh2_sftp.h
HINTS ${LIBSSH2_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/Grid/epel/*/${PLATFORM}/include
DOC "The libssh2 include directory"
)
set (LIBSSH2_DEFINITIONS "")
endif (LIBSSH2_PKG_FOUND)
if (LIBSSH2_LIBRARIES)
message (STATUS "LIBSSH2 libraries: ${LIBSSH2_LIBRARIES}")
endif (LIBSSH2_LIBRARIES)
if (LIBSSH2_INCLUDE_DIRS)
message (STATUS "LIBSSH2 include dir: ${LIBSSH2_INCLUDE_DIRS}")
endif (LIBSSH2_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set LIBSSH2_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (SSH2 DEFAULT_MSG
LIBSSH2_LIBRARIES LIBSSH2_INCLUDE_DIRS
)
mark_as_advanced(LIBSSH2_INCLUDE_DIRS LIBSSH2_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindPugiXML.cmake 0000664 0000000 0000000 00000003125 14652400145 0020601 0 ustar 00root root 0000000 0000000 #
# This module detects if pugixml is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# PUGIXML_LIBRARIES = full path to the pugixml libraries
# PUGIXML_INCLUDE_DIR = include dir to be used when using the pugixml library
# PUGIXML_FOUND = set to true if pugixml was found successfully
#
# PUGIXML_LOCATION
# setting this enables search for pugixml libraries / headers in this location
# -----------------------------------------------------
# PUGIXML Libraries
# -----------------------------------------------------
find_library(PUGIXML_LIBRARIES
NAMES pugixml
HINTS ${PUGIXML_LOCATION}/lib ${PUGIXML_LOCATION}/lib64 ${PUGIXML_LOCATION}/lib32
DOC "The main pugixml library"
)
# -----------------------------------------------------
# PUGIXML Include Directories
# -----------------------------------------------------
find_path(PUGIXML_INCLUDE_DIR
NAMES pugixml.hpp
HINTS ${PUGIXML_LOCATION} ${PUGIXML_LOCATION}/include ${PUGIXML_LOCATION}/include/* /usr/include
DOC "The pugixml include directory"
)
if(PUGIXML_INCLUDE_DIR)
message(STATUS "pugixml includes found in ${PUGIXML_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set PUGIXML_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(pugixml DEFAULT_MSG PUGIXML_LIBRARIES PUGIXML_INCLUDE_DIR)
mark_as_advanced(PUGIXML_INCLUDE_DIR PUGIXML_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindPythonEasy.cmake 0000664 0000000 0000000 00000012045 14652400145 0021420 0 ustar 00root root 0000000 0000000 # - Find python libraries
# This module find the current version of python on your installation in a easy way
#
# PYTHON_LIBRARIES = path to the python library
# PYTHON_LIBRARIES_${VERSION} = path to the python library for the distribution version
# PYTHON_SITE_PACKAGES_${_VERSION} = path to the python modules dir
# PYTHON_LIBRARIES = path to the python modules dir for the distribution version
# PYTHON_INCLUDE_PATH = path to where Python.h is found
# PYTHON_INCLUDE_PATH_${VERSION} = path to where Python.h for the distribution version
# PYTHON_EXECUTABLE = python interpreter for the distribution version
# PYTHON_EXECUTABLE_${VERSION} = available python version
# PYTHON_AVAILABLE_VERSIONS = list all the version available on the system
# --
LIST(APPEND L_PYTHON_VERSIONS
"1.5" "1.6"
"2.0" "2.1" "2.2" "2.4" "2.5" "2.6" "2.7" "2.8"
"3" "3.0" "3.1" "3.2" "3.3" "3.4" "3.5"
)
INCLUDE(FindPackageHandleStandardArgs)
# determine the std version
# main version executable
FIND_PROGRAM(PYTHON_EXECUTABLE
NAMES python
HINTS
${ALT_PYTHON_LOCATION}/bin
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.4\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.3\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.2\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.1\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\3.0\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.8\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.7\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.6\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.5\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.4\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.3\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.2\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.1\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\2.0\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.6\\InstallPath]
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\1.5\\InstallPath]
)
EXECUTE_PROCESS( COMMAND ${PYTHON_EXECUTABLE} -c "import sys; print('%s.%s' % sys.version_info[:2])"
OUTPUT_VARIABLE PYTHON_CURRENT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
## tests for all versions of the packages
FOREACH(_VERSION ${L_PYTHON_VERSIONS})
STRING(REPLACE "." "" _VERSION_NO_DOTS ${_VERSION})
FIND_PROGRAM(PYTHON_EXECUTABLE_${_VERSION}
NAMES python${_VERSION}
HINTS
${ALT_PYTHON_LOCATION}/bin/
)
IF(PYTHON_EXECUTABLE_${_VERSION})
LIST(APPEND PYTHON_AVAILABLE_VERSIONS ${_VERSION})
EXECUTE_PROCESS(COMMAND
${PYTHON_EXECUTABLE_${_VERSION}} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(True))"
OUTPUT_VARIABLE PYTHON_SITE_PACKAGES_${_VERSION} OUTPUT_STRIP_TRAILING_WHITESPACE)
# find libs
EXECUTE_PROCESS(COMMAND
python${_VERSION}-config --libs
OUTPUT_VARIABLE PYTHON_LIBRARY_${_VERSION} OUTPUT_STRIP_TRAILING_WHITESPACE
)
SET(PYTHON_LIBRARIES_${_VERSION} ${PYTHON_LIBRARY_${_VERSION}})
# find include
EXECUTE_PROCESS(COMMAND
${PYTHON_EXECUTABLE_${_VERSION}} -c "from distutils import sysconfig; print(sysconfig.get_python_inc())"
OUTPUT_VARIABLE PYTHON_INCLUDE_PATH_${_VERSION} OUTPUT_STRIP_TRAILING_WHITESPACE
)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Python${_VERSION} DEFAULT_MSG PYTHON_EXECUTABLE_${_VERSION})
MARK_AS_ADVANCED(PYTHON_EXECUTABLE_${_VERSION})
MARK_AS_ADVANCED(PYTHON_SITE_PACKAGES_${_VERSION})
MARK_AS_ADVANCED(PYTHON_LIBRARIES_${_VERSION})
MARK_AS_ADVANCED(PYTHON_INCLUDE_PATH_${_VERSION})
ENDIF(PYTHON_EXECUTABLE_${_VERSION})
ENDFOREACH(_VERSION ${L_PYTHON_VERSIONS})
SET(PYTHON_SITE_PACKAGES ${PYTHON_SITE_PACKAGES_${PYTHON_CURRENT_VERSION}}
CACHE PATH "path to the python modules dir for the distribution version")
SET(PYTHON_LIBRARIES ${PYTHON_LIBRARIES_${PYTHON_CURRENT_VERSION}}
CACHE PATH "path to the python modules dir for the distribution version")
SET(PYTHON_INCLUDE_PATH ${PYTHON_INCLUDE_PATH_${PYTHON_CURRENT_VERSION}}
CACHE PATH "path to the python include dir for the distribution version")
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonCurrentVersion DEFAULT_MSG PYTHON_CURRENT_VERSION )
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonCurrentInclude DEFAULT_MSG PYTHON_INCLUDE_PATH )
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonCurrentLibs DEFAULT_MSG PYTHON_LIBRARIES )
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonCurrentModsDir DEFAULT_MSG PYTHON_SITE_PACKAGES )
IF(PYTHON_EXECUTABLE_3)
EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE_3} -c "import sys; print('%s.%s' % sys.version_info[:2])"
OUTPUT_VARIABLE PYTHON3_CURRENT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
ENDIF()
MARK_AS_ADVANCED(PYTHON_EXECUTABLE)
MARK_AS_ADVANCED(PYTHON_SITE_PACKAGES)
MARK_AS_ADVANCED(PYTHON_LIBRARIES)
MARK_AS_ADVANCED(PYTHON_INCLUDE_PATH)
gfal2-v2.23.0/cmake/modules/FindSRM_IFCE.cmake 0000664 0000000 0000000 00000004537 14652400145 0020553 0 ustar 00root root 0000000 0000000 #
# This module detects if SRM-IFCE is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# SRM_IFCE_LIBRARIES = full path to the SRM-IFCE libraries
# SRM_IFCE_INCLUDE_DIR = include dir to be used when using the SRM-IFCE library
# SRM_IFCE_FOUND = set to true if SRM-IFCE was found successfully
#
# SRM_IFCE_LOCATION
# setting this enables search for SRM-IFCE libraries / headers in this location
# -----------------------------------------------------
# Try with pkgconfig first
# -----------------------------------------------------
find_package(PkgConfig)
pkg_check_modules(SRM_IFCE_PKG REQUIRED srm-ifce>=1.15.0)
if (SRM_IFCE_PKG_FOUND)
set (SRM_IFCE_LIBRARIES "${SRM_IFCE_PKG_LIBRARIES}")
set (SRM_IFCE_CFLAGS "${SRM_IFCE_PKG_CFLAGS}")
if (SRM_IFCE_PKG_INCLUDE_DIRS)
set (SRM_IFCE_INCLUDE_DIR "${SRM_IFCE_PKG_INCLUDE_DIRS}")
else ()
set (SRM_IFCE_INCLUDE_DIR "/usr/include")
endif ()
else ()
# SRM-IFCE Libraries
find_library(SRM_IFCE_LIBRARIES
NAMES gfal_srm_ifce
HINTS
${SRM_IFCE_LOCATION}/lib ${SRM_IFCE_LOCATION}/lib64 ${SRM_IFCE_LOCATION}/lib32
${STAGE_DIR}/lib ${STAGE_DIR}/lib64
${CMAKE_INSTALL_PREFIX}/Grid/srm-ifce/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/srm-ifce/*/${PLATFORM}/lib64
DOC "The main srm-ifce library"
)
# SRM-IFCE Include Directories
find_path(SRM_IFCE_INCLUDE_DIR
NAMES gfal_srm_ifce.h
HINTS
${SRM_IFCE_LOCATION} ${SRM_IFCE_LOCATION}/include ${SRM_IFCE_LOCATION}/include/*
${STAGE_DIR}/include ${STAGE_DIR}/include
${CMAKE_INSTALL_PREFIX}/Grid/srm-ifce/*/${PLATFORM}/include
DOC "The srm-ifce include directory"
)
set (SRM_IFCE_CFLAGS "")
endif()
if(SRM_IFCE_INCLUDE_DIR)
message(STATUS "SRM-IFCE includes found in ${SRM_IFCE_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set SRM_IFCE_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SRM_IFCE DEFAULT_MSG SRM_IFCE_LIBRARIES SRM_IFCE_INCLUDE_DIR)
mark_as_advanced(SRM_IFCE_LIBRARIES SRM_IFCE_INCLUDE_DIR SRM_IFCE_CFLAGS)
gfal2-v2.23.0/cmake/modules/FindUUID.cmake 0000664 0000000 0000000 00000003530 14652400145 0020062 0 ustar 00root root 0000000 0000000 #
# This module detects if uuid is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# UUID_LIBRARIES = full path to the uuid libraries
# UUID_INCLUDE_DIR = include dir to be used when using the uuid library
# UUID_FOUND = set to true if uuid was found successfully
#
# UUID_LOCATION
# setting this enables search for uuid libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(UUID_PKG uuid)
if (UUID_PKG_FOUND)
set (UUID_LIBRARIES ${UUID_PKG_LIBRARIES})
set (UUID_INCLUDE_DIRS ${UUID_PKG_INCLUDE_DIRS})
if (NOT UUID_INCLUDE_DIRS)
set (UUID_INCLUDE_DIRS "/usr/include")
endif (NOT UUID_INCLUDE_DIRS)
set (UUID_DEFINITIONS "${UUID_PKG_CFLAGS} ${UUID_PKG_CFLAGS_OTHER}")
else (UUID_PKG_FOUND)
find_library(UUID_LIBRARIES
NAMES uuid
HINTS ${UUID_LOCATION}
${CMAKE_INSTALL_PREFIX}/uuid/*/${PLATFORM}/
DOC "The uuid library"
)
find_path(UUID_INCLUDE_DIRS
NAMES uuid.h
HINTS ${UUID_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/uuid/*/${PLATFORM}/
DOC "The uuid include directory"
)
set (UUID_DEFINITIONS "")
endif (UUID_PKG_FOUND)
if (UUID_LIBRARIES)
message (STATUS "UUID libraries: ${UUID_LIBRARIES}")
endif (UUID_LIBRARIES)
if (UUID_INCLUDE_DIRS)
message (STATUS "UUID include dir: ${UUID_INCLUDE_DIRS}")
endif (UUID_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set UUID_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (UUID DEFAULT_MSG
UUID_LIBRARIES UUID_INCLUDE_DIRS
)
mark_as_advanced(UUID_INCLUDE_DIRS UUID_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindVOMS.cmake 0000664 0000000 0000000 00000004112 14652400145 0020075 0 ustar 00root root 0000000 0000000 #
# This module detects if voms is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# VOMS_LIBRARIES = full path to the voms libraries
# VOMS_INCLUDE_DIR = include dir to be used when using the voms library
# VOMS_DEFINITIONS = compiler flags
# VOMS_FOUND = set to true if voms was found successfully
#
# VOMS_LOCATION
# setting this enables search for voms libraries / headers in this location
find_package (PkgConfig)
pkg_search_module(VOMS_PKG voms-2.0 voms)
if (VOMS_PKG_FOUND)
set (VOMS_LIBRARIES ${VOMS_PKG_LIBRARIES})
set (VOMS_INCLUDE_DIRS ${VOMS_PKG_INCLUDE_DIRS})
if (NOT VOMS_INCLUDE_DIRS)
set (VOMS_INCLUDE_DIRS "/usr/include")
endif (NOT VOMS_INCLUDE_DIRS)
set (VOMS_DEFINITIONS "${VOMS_PKG_CFLAGS} ${VOMS_PKG_CFLAGS_OTHER}")
else (VOMS_PKG_FOUND)
message("SEARCH FOR ${CMAKE_INSTALL_PREFIX}/Grid/voms/*/${PLATFORM}/lib64")
find_library(VOMS_LIBRARIES
NAMES vomsapi
HINTS ${VOMS_LOCATION}
${CMAKE_INSTALL_PREFIX}/Grid/voms/*/${PLATFORM}/lib
${CMAKE_INSTALL_PREFIX}/Grid/voms/*/${PLATFORM}/lib64
DOC "The voms library"
)
find_path(VOMS_INCLUDE_DIRS
NAMES voms/voms_api.h
HINTS ${VOMS_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/Grid/voms/*/${PLATFORM}/include
DOC "The voms include directory"
)
set (VOMS_CFLAGS "")
endif (VOMS_PKG_FOUND)
if (VOMS_LIBRARIES)
message (STATUS "VOMS libraries: ${VOMS_LIBRARIES}")
endif (VOMS_LIBRARIES)
if (VOMS_INCLUDE_DIRS)
message (STATUS "VOMS include dir: ${VOMS_INCLUDE_DIRS}")
endif (VOMS_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set VOMS_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (VOMS DEFAULT_MSG
VOMS_LIBRARIES VOMS_INCLUDE_DIRS
)
mark_as_advanced(VOMS_LIBRARIES VOMS_INCLUDE_DIRS VOMS_DEFINITIONS)
gfal2-v2.23.0/cmake/modules/FindXROOTD.cmake 0000664 0000000 0000000 00000003667 14652400145 0020346 0 ustar 00root root 0000000 0000000 # - Try to find XROOTD libraries
#
# XROOTD_FOUND - System has XROOTD
# XROOTD_INCLUDE_DIR - The XROOTD include directory
# XROOTD_LIBRARIES - The libraries needed to use XROOTD
#
# XROOTD_LOCATION
# setting this enables search for xrootd libraries / headers in this location
# -----------------------------------------------------
# XROOTD Libraries
# -----------------------------------------------------
find_library(XROOTD_CL
NAMES XrdCl
HINTS ${XROOTD_LOCATION}/lib ${XROOTD_LOCATION}/lib64 ${XROOTD_LOCATION}/lib32
DOC "xrootd cl"
)
find_library(XROOTD_POSIX
NAMES XrdPosix
HINTS ${XROOTD_LOCATION}/lib ${XROOTD_LOCATION}/lib64 ${XROOTD_LOCATION}/lib32
DOC "xrootd posix libraries"
)
find_library(XROOTD_UTIL
NAMES XrdUtils
HINTS ${XROOTD_LOCATION}/lib ${XROOTD_LOCATION}/lib64 ${XROOTD_LOCATION}/lib32
DOC "xrootd util"
)
set(XROOTD_LIBRARIES
${XROOTD_CL}
${XROOTD_POSIX}
${XROOTD_UTIL}
)
if(XROOTD_LIBRARIES)
message(STATUS "xrootd library found in ${XROOTD_LIBRARIES}")
endif()
# -----------------------------------------------------
# XROOTD Include Directories
# -----------------------------------------------------
find_path(XROOTD_INCLUDE_DIR
NAMES XrdVersion.hh
HINTS ${XROOTD_LOCATION} ${XROOTD_LOCATION}/include ${XROOTD_LOCATION}/include/*
${XROOTD_LOCATION}/src/
/usr/include/xrootd ${CMAKE_INSTALL_PREFIX}/include/xrootd
DOC "The xrootd include directory"
)
if(XROOTD_INCLUDE_DIR)
message(STATUS "xrootd includes found in ${XROOTD_INCLUDE_DIR}")
endif()
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set XROOTD_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(xrootd DEFAULT_MSG XROOTD_LIBRARIES XROOTD_INCLUDE_DIR)
mark_as_advanced(XROOTD_INCLUDE_DIR XROOTD_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindZLIB.cmake 0000664 0000000 0000000 00000003540 14652400145 0020055 0 ustar 00root root 0000000 0000000 #
# This module detects if zlib is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# ZLIB_LIBRARIES = full path to the zlib libraries
# ZLIB_INCLUDE_DIR = include dir to be used when using the glib2 library
# ZLIB_FOUND = set to true if zlib was found successfully
#
# ZLIB_LOCATION
# setting this enables search for zlib libraries / headers in this location
find_package (PkgConfig)
pkg_check_modules(ZLIB_PKG zlib)
if (ZLIB_PKG_FOUND)
set (ZLIB_LIBRARIES ${ZLIB_PKG_LIBRARIES})
set (ZLIB_INCLUDE_DIRS ${ZLIB_PKG_INCLUDE_DIRS})
if (NOT ZLIB_INCLUDE_DIRS)
set (ZLIB_INCLUDE_DIRS "/usr/include")
endif (NOT ZLIB_INCLUDE_DIRS)
set (ZLIB_DEFINITIONS "${ZLIB_PKG_CFLAGS} ${ZLIB_PKG_CFLAGS_OTHER}")
else (ZLIB_PKG_FOUND)
find_library(ZLIB_LIBRARIES
NAMES zlib
HINTS ${ZLIB_LOCATION}
${CMAKE_INSTALL_PREFIX}/zlib/*/${PLATFORM}/
DOC "The main glib2 library"
)
find_path(ZLIB_INCLUDE_DIRS
NAMES zlib.h
HINTS ${ZLIB_LOCATION}/include/*
${CMAKE_INSTALL_PREFIX}/zlib/*/${PLATFORM}/
DOC "The glib2 include directory"
)
set (ZLIB_DEFINITIONS "")
endif (ZLIB_PKG_FOUND)
if (ZLIB_LIBRARIES)
message (STATUS "ZLIB libraries: ${ZLIB_LIBRARIES}")
endif (ZLIB_LIBRARIES)
if (ZLIB_INCLUDE_DIRS)
message (STATUS "ZLIB include dir: ${ZLIB_INCLUDE_DIRS}")
endif (ZLIB_INCLUDE_DIRS)
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set ZLIB_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args (ZLIB DEFAULT_MSG
ZLIB_LIBRARIES ZLIB_INCLUDE_DIRS
)
mark_as_advanced(ZLIB_INCLUDE_DIRS ZLIB_LIBRARIES)
gfal2-v2.23.0/cmake/modules/FindgSOAP.cmake 0000664 0000000 0000000 00000010522 14652400145 0020224 0 ustar 00root root 0000000 0000000 #
# This module detects if gsoap is installed and determines where the
# include files and libraries are.
#
# This code sets the following variables:
#
# GSOAP_LIBRARIES = full path to the gsoap libraries
# GSOAP_SSL_LIBRARIES = full path to the gsoap ssl libraries
# GSOAP_INCLUDE_DIR = include dir to be used when using the gsoap library
# GSOAP_WSDL2H = wsdl2h binary
# GSOAP_SOAPCPP2 = soapcpp2 binary
# GSOAP_FOUND = set to true if gsoap was found successfully
#
# GSOAP_LOCATION
# setting this enables search for gsoap libraries / headers in this location
# ------------------------------------------------------
# try pkg config search
#
# -----------------------------------------------------
find_package(PkgConfig)
pkg_check_modules(PC_GSOAP gsoap)
IF(PC_GSOAP_FOUND)
SET(GSOAP_LIBRARIES ${PC_GSOAP_LIBRARIES})
SET(GSOAP_INCLUDE_DIR ${PC_GSOAP_INCLUDE_DIRS})
if (NOT GSOAP_INCLUDE_DIR)
set (GSOAP_INCLUDE_DIR "/usr/include")
endif (NOT GSOAP_INCLUDE_DIR)
SET(GSOAP_DEFINITIONS "${PC_GSOAP_CFLAGS} ${PC_GSOAP_CFLAGS_OTHER}")
ELSE(PC_GSOAP_FOUND)
# -----------------------------------------------------
# GSOAP Libraries
# -----------------------------------------------------
find_library(GSOAP_LIBRARIES
NAMES gsoap
HINTS ${GSOAP_LOCATION}
${CMAKE_INSTALL_PREFIX}/gsoap/*/${PLATFORM}/
DOC "The main gsoap library"
)
# -----------------------------------------------------
# GSOAP Include Directories
# -----------------------------------------------------
find_path(GSOAP_INCLUDE_DIR
NAMES stdsoap2.h
HINTS ${GSOAP_LOCATION}
${CMAKE_INSTALL_PREFIX}/gsoap/*/${PLATFORM}/
DOC "The gsoap include directory"
)
SET(GSOAP_DEFINITIONS "")
ENDIF(PC_GSOAP_FOUND)
# -----------------------------------------------------
# GSOAP ssl Libraries
# -----------------------------------------------------
find_library(GSOAP_SSL_LIBRARIES
NAMES gsoapssl
HINTS ${GSOAP_LOCATION}
${CMAKE_INSTALL_PREFIX}/gsoap/*/${PLATFORM}/
DOC "The ssl gsoap library"
)
# -----------------------------------------------------
# GSOAP Binaries
# -----------------------------------------------------
find_program(GSOAP_WSDL2H
NAMES wsdl2h
HINTS ${GSOAP_LOCATION}/bin
${CMAKE_INSTALL_PREFIX}/gsoap/*/${PLATFORM}/bin/
DOC "The gsoap bin directory"
)
find_program(GSOAP_SOAPCPP2
NAMES soapcpp2
HINTS ${GSOAP_LOCATION}/bin
${CMAKE_INSTALL_PREFIX}/gsoap/*/${PLATFORM}/bin/
DOC "The gsoap bin directory"
)
# -----------------------------------------------------
# GSOAP_276_COMPAT_FLAGS and GSOAPVERSION
# try to determine the flagfor the 2.7.6 compatiblity, break with 2.7.13 and re-break with 2.7.16
# ----------------------------------------------------
message(STATUS " - wsdlh : ${GSOAP_WSDL2H}")
message(STATUS " - SOAPCPP2 : ${GSOAP_SOAPCPP2}")
# some versions of soapcpp2 interpret "-v" as verbose, and hang while waiting for input
# try "-help" first, and if it fails, do "-v"
execute_process(COMMAND ${GSOAP_SOAPCPP2} "-help" OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
if( "${GSOAP_VERSION}" STREQUAL "..")
execute_process(COMMAND ${GSOAP_SOAPCPP2} "-v" OUTPUT_VARIABLE GSOAP_STRING_VERSION ERROR_VARIABLE GSOAP_STRING_VERSION )
string(REGEX MATCH "[0-9]*\\.[0-9]*\\.[0-9]*" GSOAP_VERSION ${GSOAP_STRING_VERSION})
endif()
message(STATUS " - GSOAP VERSION : ${GSOAP_VERSION}")
if( "${GSOAP_VERSION}" VERSION_LESS "2.7.6")
set(GSOAP_276_COMPAT_FLAGS "")
elseif ( "${GSOAP_VERSION}" VERSION_LESS "2.7.14")
set(GSOAP_276_COMPAT_FLAGS "-z")
else ( "${GSOAP_VERSION}" VERSION_LESS "2.7.14")
set(GSOAP_276_COMPAT_FLAGS "-z1 -z2")
endif ( "${GSOAP_VERSION}" VERSION_LESS "2.7.6")
# -----------------------------------------------------
# handle the QUIETLY and REQUIRED arguments and set GSOAP_FOUND to TRUE if
# all listed variables are TRUE
# -----------------------------------------------------
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(gsoap DEFAULT_MSG GSOAP_LIBRARIES
GSOAP_INCLUDE_DIR GSOAP_WSDL2H GSOAP_SOAPCPP2)
mark_as_advanced(GSOAP_INCLUDE_DIR GSOAP_LIBRARIES GSOAP_DEFINITIONS GSOAP_WSDL2H GSOAP_SOAPCPP2)
gfal2-v2.23.0/cmake/modules/MacroAddDoxygen.cmake 0000664 0000000 0000000 00000001061 14652400145 0021520 0 ustar 00root root 0000000 0000000 ##
## Doxygen macro, allow Doxygen generation from cmake
## do a ""make doc" for the generation
macro(addDoxyGeneration DOXYFILE_LOCATION)
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${DOXYFILE_LOCATION} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(DOXYGEN_FOUND)
endmacro(addDoxyGeneration DOXYFILE_LOCATION)
gfal2-v2.23.0/cmake/modules/MacroAddepydoc.cmake 0000664 0000000 0000000 00000003645 14652400145 0021400 0 ustar 00root root 0000000 0000000 ##
## Doxygen macro, allow Doxygen generation from cmake
## do a ""make doc" for the generation
# for old version < 3.0 cmake variables replace config files ( not supported ) ( needed for EPEL 5 support )
# EPYDOC_MODULE_PATH path of the module to configure
# EPYDOC_MODULE_URL project url
# EPYDOC_MODULE_NAME project name
#
macro(addEpydocGeneration EPYDOC_CONFIG_LOCATION)
IF(NOT EPYDOC_FOUND)
execute_process(COMMAND epydoc --version
OUTPUT_VARIABLE EPYDOC_VERSION_UNPARSED
ERROR_VARIABLE EPYDOC_ERROR
)
IF(${EPYDOC_ERROR})
message(SEND_ERROR "epydoc not found....")
ELSE(${EPYDOC_ERROR})
string(REGEX REPLACE ".*version (.*)\n" "\\1" EPYDOC_VERSION ${EPYDOC_VERSION_UNPARSED})
message(STATUS " epydoc version ..... ${EPYDOC_VERSION} ")
ENDIF(${EPYDOC_ERROR})
ENDIF(NOT EPYDOC_FOUND)
IF(${EPYDOC_VERSION} VERSION_GREATER "3.0.0")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${EPYDOC_CONFIG_LOCATION} ${CMAKE_CURRENT_BINARY_DIR}/epydoc_config @ONLY)
add_custom_target(doc
epydoc --config ${CMAKE_CURRENT_BINARY_DIR}/epydoc_config -v
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generate API documentation with epydoc" VERBATIM
)
ELSE(${EPYDOC_VERSION} VERSION_GREATER "3.0.0") # VERSION TOO OLD, NO CONFIG FILE MANAGEMENT
add_custom_target(doc
epydoc --html -u ${EPYDOC_MODULE_URL} -n ${EPYDOC_MODULE_NAME} -v -o ${CMAKE_CURRENT_BINARY_DIR}/html ${EPYDOC_MODULE_PATH}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generate API documentation with epydoc" VERBATIM
)
ENDIF(${EPYDOC_VERSION} VERSION_GREATER "3.0.0")
endmacro(addEpydocGeneration EPYDOC_CONFIG_LOCATION)
gfal2-v2.23.0/cmake/modules/MacroCopyFile.cmake 0000664 0000000 0000000 00000001714 14652400145 0021211 0 ustar 00root root 0000000 0000000 # - macro_copy_file(_src _dst)
# Copies a file to ${_dst} only if ${_src} is different (newer) than ${_dst}
#
# Example:
# macro_copy_file(${CMAKE_CURRENT_SOURCE_DIR}/icon.png ${CMAKE_CURRENT_BINARY_DIR}/.)
# Copies file icon.png to ${CMAKE_CURRENT_BINARY_DIR} directory
#
# Copyright (c) 2006-2007 Wengo
# Copyright (c) 2006-2008 Andreas Schneider
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING file.
macro(copy_files GLOBPAT DESTINATION)
file(GLOB COPY_FILES
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
${GLOBPAT})
add_custom_target(copy ALL
COMMENT "Copying files: ${GLOBPAT}")
foreach(FILENAME ${COPY_FILES})
set(SRC "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
set(DST "${DESTINATION}/${FILENAME}")
add_custom_command(
TARGET copy
COMMAND ${CMAKE_COMMAND} -E copy ${SRC} ${DST}
)
endforeach(FILENAME)
endmacro(copy_files)
gfal2-v2.23.0/cmake/modules/ReleaseDebugAutoFlags.cmake 0000664 0000000 0000000 00000000620 14652400145 0022645 0 ustar 00root root 0000000 0000000 ## debug / release autoManagement
set(CMAKE_C_FLAGS_RELEASE "-O2")
set(CMAKE_C_FLAGS_DEBUG "-g3 -O0 -ggdb -Wall -fstack-protector-all")
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
set(CMAKE_CXX_FLAGS_DEBUG "-g3 -O0 -ggdb -Wall -fstack-protector-all")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g -Wall -fstack-protector-all")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -Wall -fstack-protector-all")
gfal2-v2.23.0/coverage.sh 0000775 0000000 0000000 00000002022 14652400145 0015106 0 ustar 00root root 0000000 0000000 #!/bin/bash
# Build source for coverage tests
if [ "$#" -eq 1 ]; then
BUILD_DIR=`readlink -f $1`
else
BUILD_DIR=~+/build
fi
SOURCE_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
RUNNING_DIR=`pwd`
set -x
mkdir -p "${BUILD_DIR}"
pushd "${BUILD_DIR}"
# Build
CFLAGS=--coverage CXXFLAGS=--coverage cmake "${SOURCE_DIR}" \
-DUNIT_TESTS=ON -DFUNCTIONAL_TESTS=ON -DPLUGIN_MOCK=ON
make -j2
# Clear counters
lcov --directory . --zerocounters
# Run
export GFAL_PLUGIN_DIR="${BUILD_DIR}/plugins"
export GFAL_CONFIG_DIR="${SOURCE_DIR}/test/conf_test"
ctest -T test
# Extract coverage
lcov --directory . --capture --output-file="${RUNNING_DIR}/coverage.info"
if [ ! -f "/tmp/lcov_cobertura.py" ]; then
wget "https://raw.github.com/eriwen/lcov-to-cobertura-xml/master/lcov_cobertura/lcov_cobertura.py" -O "/tmp/lcov_cobertura.py"
fi
python /tmp/lcov_cobertura.py "${RUNNING_DIR}/coverage.info" -b "${SOURCE_DIR}" -e ".+usr.include." -o "${RUNNING_DIR}/coverage.xml"
# Done
popd
echo "Done extracting coverage information"
gfal2-v2.23.0/dist/ 0000775 0000000 0000000 00000000000 14652400145 0013723 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/dist/etc/ 0000775 0000000 0000000 00000000000 14652400145 0014476 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/dist/etc/gfal2.d/ 0000775 0000000 0000000 00000000000 14652400145 0015713 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/dist/etc/gfal2.d/bdii.conf 0000664 0000000 0000000 00000000615 14652400145 0017473 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 BDII related options ( information system for wlcg )
[BDII]
# enable or disable bdii query system ( default : enabled )
ENABLED=true
# default BDII server to contact
LCG_GFAL_INFOSYS=lcg-bdii.cern.ch:2170
# Cache file for the BDII system
# Compatible with FTS3 cache format
# This file must be updated externally
CACHE_FILE=/var/lib/fts3/bdii_cache.xml
gfal2-v2.23.0/dist/etc/gfal2.d/dcap_plugin.conf 0000664 0000000 0000000 00000000254 14652400145 0021050 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 DCAP plugin
[DCAP PLUGIN]
# set the passive mode enabled or now
# active mode can cause troubles with firewalls
MODE_PASSIVE=true
gfal2-v2.23.0/dist/etc/gfal2.d/gfal2_core.conf 0000664 0000000 0000000 00000001532 14652400145 0020566 0 ustar 00root root 0000000 0000000 # Core configuration of GFAL 2.0
[CORE]
# Enable or disable DNS resolution within the copy function
RESOLVE_DNS=false
# Namespace operations timeout in seconds.
# Other protocols may override this if set (i.e. GRIDFTP PLUGIN:OPERATION_TIMEOUT)
NAMESPACE_TIMEOUT=300
# Checksum timeout in seconds.
# Other protocol specific may override this if set (i.e. GRIDFTP PLUGIN:CHECKSUM_TIMEOUT)
CHECKSUM_TIMEOUT=1800
# Buffersize for non-3rd party copies, in bytes
COPY_BUFFERSIZE=4194304
# Use direct IO (if the affected plugins accept it) for the copies
# Use this only if you know what you are doing
# See notes on man 2 open
COPY_DIRECT_IO=false
# If direct IO is enabled, the buffer may need to be aligned
# 512 seems normally safe
# COPY_BUFFER_ALIGNMENT=512
# When enabled, always return Adler32 checksum as 8-byte string
FORMAT_ADLER32_CHECKSUM=true
gfal2-v2.23.0/dist/etc/gfal2.d/gsiftp_plugin.conf 0000664 0000000 0000000 00000003037 14652400145 0021437 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 griftp plugin
[GRIDFTP PLUGIN]
# enable or disable gridFTPv2 support
GRIDFTP_V2=true
# enable or disable session re-use support
# warning:
# disabling this feature can slow-down a lot the performance
# enabling this feature can cause trouble with Castor
SESSION_REUSE=true
# default number of streams used for file transfers
# 0 means in-order-stream mode
RD_NB_STREAM=0
# default checksum algorithm type used for transfer content verification
COPY_CHECKSUM_TYPE=ADLER32
# enable or disable the encryption for the data channel
DCAU=false
# enable or disable the ipv6 support
IPV6=false
# enable or disable striped passive support
# Note, if IPv6 is enabled, this may be needed in order to get GridFTP redirection to work
SPAS=false
# define the maximum time in s
# for a gsiftp checksum request
# Overrides CORE:CHECKSUM_TIMEOUT
# CHECKSUM_CALC_TIMEOUT=1800
# maximum time between two performance markers
# disable if equal to 0
PERF_MARKER_TIMEOUT=360
# timeout for namespace operations
# Overrides CORE:NAMESPACE_TIMEOUT
# OPERATION_TIMEOUT=300
## enable or disable the delay passive option of gridftpv2
## this option need to be enabled to support the gridftp redirection features
DELAY_PASSV=true
# Enable UDT transfers
# Not all servers implement this, so gfal2 will fallback to a normal transfer if
# not supported
ENABLE_UDT=false
# Enable the PASV plugin
# Required to trigger events with the final destination IP and port
ENABLE_PASV_PLUGIN=false
# Block size for third party copies
# BLOCK_SIZE = 0
gfal2-v2.23.0/dist/etc/gfal2.d/http_plugin.conf 0000664 0000000 0000000 00000003575 14652400145 0021131 0 ustar 00root root 0000000 0000000 # Configuration file for HTTP plugin
[HTTP PLUGIN]
# Enable HTTP Third Party Copies
ENABLE_REMOTE_COPY=true
# Enable streamed copies (data passes via the client)
ENABLE_STREAM_COPY=true
# Enable TPC fallback mechanism
# Start with DEFAULT_COPY_MODE and fallback in case of error
ENABLE_FALLBACK_TPC_COPY=true
## Default mode for http copy
## possible values are: 3rd pull, 3rd push or streamed
## By default all methods will be tried in case of failures starting from 3rd pull
## if 3rd push is set as default only 3rd push and then streamed will be executed
## if streamed is set as default only streamed transfer will be executed
DEFAULT_COPY_MODE=3rd pull
# Enable or disable the SSL CA check
INSECURE=false
# Enable or disable Davix Metalink support
METALINK=false
## Force Davix log level (0 - 5)
## Level 0 --> No explicit Davix log level. Applies Gfal2 verbosity to Davix as well
## Level 1 --> Critical messages only
## Level 2 --> Warning messages and higher
## Level 3 --> Verbose, but still reasonable
## Level 4 --> Debug (most of the logging data)
## Level 5 --> Trace (dump of almost everything)
## Recommended setting should be 0 or 3. For debugging, use level 4
LOG_LEVEL=0
# Enable Davix logging of sensitive information
LOG_SENSITIVE=false
# Enable Davix logging of HTTP request/response body (default false)
# Note: Meant for debugging
# - Do not use in production, risk of leaking secrets
# - Do not use for transfers, as logging will have same file as transferred file
LOG_CONTENT=false
# Use HTTP Keep-Alive
KEEP_ALIVE=true
# Attempt to retrieve SE-issued tokens
RETRIEVE_BEARER_TOKEN=true
# AWS S3 related options
[S3]
## AWS Secret key
#SECRET_KEY=
## AWS Access key
#ACCESS_KEY=
## AWS Short lived token
#TOKEN=
## AWS Region
#REGION=
# GCloud related options
[GCLOUD]
## Google JSON auth file path
#JSON_AUTH_FILE=
## Google JSON auth content as string
#JSON_AUTH_STRING=
gfal2-v2.23.0/dist/etc/gfal2.d/lfc_plugin.conf 0000664 0000000 0000000 00000000456 14652400145 0020711 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 lfc plugin
[LFC PLUGIN]
# Logical File Catalog hostname
# default is the central one, at cern
LFC_HOST=lfc-puppet01.cern.ch
# connexion timeout in second
LFC_CONNTIMEOUT=15
# maximum number of try for opening a connexion
LFC_CONRETRY=2
#
LFC_CONRETRYINT=1
gfal2-v2.23.0/dist/etc/gfal2.d/mock_plugin.conf 0000664 0000000 0000000 00000000151 14652400145 0021066 0 ustar 00root root 0000000 0000000 ## configuration file for http plugin
##
[MOCK PLUGIN]
MAX_TRANSFER_TIME=5
MIN_TRANSFER_TIME=5
SIGNALS=0
gfal2-v2.23.0/dist/etc/gfal2.d/rfio_plugin.conf 0000664 0000000 0000000 00000000267 14652400145 0021104 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 rfio plugin
[RFIO PLUGIN]
# type of RFIO library to use ( cf : rfio castor vs rfio dpm )
# value can be castor or dpm
LCG_RFIO_TYPE="dpm"
gfal2-v2.23.0/dist/etc/gfal2.d/sftp_plugin.conf 0000664 0000000 0000000 00000000363 14652400145 0021116 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 sftp plugin
[SFTP PLUGIN]
## Defaults to current user name
# USER=
## Defaults to empty
# PASSWORD=
## Defaults to $HOME/.ssh/id_rsa
# PRIVKEY=
## Private key passphrase. Defaults to empty
# PASSPHRASE=
gfal2-v2.23.0/dist/etc/gfal2.d/srm_plugin.conf 0000664 0000000 0000000 00000002123 14652400145 0020737 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal 2 srm plugin
[SRM PLUGIN]
# timeout for SRM operations in seconds
# Overrides CORE:NAMESPACE_TIMEOUT
#OPERATION_TIMEOUT=180
# timeout for the HTTP connexion in seconds
CONN_TIMEOUT=60
# desired request lifetime
REQUEST_LIFETIME=3600
# default checksum type for transfer check
COPY_CHECKSUM_TYPE=ADLER32
# ordered list of turls protocols for remote I/O
# the top priority protocol is the first one
TURL_PROTOCOLS=gsiftp;rfio;gsidcap;dcap;kdcap
# ordered list of turls protocols for third party transfer
# only protocol supporting third party copy should be here
# the top priority protocol is the first one
TURL_3RD_PARTY_PROTOCOLS=gsiftp;https;root
# enable or disable the srm session re-use
# no parameter : disabled
KEEP_ALIVE=true
# enable or disable the check for source file locality
# in SRM copy. If enabled and the locality is NEARLINE
# the SRM copy is not executed
# no parameter : disabled
COPY_FAIL_NEARLINE=false
# enable or disable locality check for REPLICAS XATTR
# If enabled, obtain TURLs only if the file is ONLINE
XATTR_FAIL_NEARLINE=false
gfal2-v2.23.0/dist/etc/gfal2.d/x509.conf 0000664 0000000 0000000 00000000063 14652400145 0017266 0 ustar 00root root 0000000 0000000 # X509 certificate and proxy
[X509]
#CERT=
#KEY=
gfal2-v2.23.0/dist/etc/gfal2.d/xrootd_plugin.conf 0000664 0000000 0000000 00000000610 14652400145 0021454 0 ustar 00root root 0000000 0000000 #
# basic configuration for the gfal2 XROOTD plugin
#
[XROOTD PLUGIN]
# Default checksum type for third party copies
COPY_CHECKSUM_TYPE=ADLER32
# Normalize the path (this is, turn root://host/path into root://host//path)
NORMALIZE_PATH=true
# To pass any custom flag via URL to the xrootd library, any variable that starts with XRD. will be used
# (lowercase)
# XRD.WANTPROT=unix,gsi,krb5
gfal2-v2.23.0/doc/ 0000775 0000000 0000000 00000000000 14652400145 0013525 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/doc/CMakeLists.txt 0000664 0000000 0000000 00000001015 14652400145 0016262 0 ustar 00root root 0000000 0000000
SET(MAIN_DOC TRUE
CACHE STRING "enable installation of the main library documentation")
IF(MAIN_DOC)
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/html/")
addDoxyGeneration("Doxyfile.in")
install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/build/html/"
DESTINATION ${DOC_INSTALL_DIR}/html/)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/examples/"
DESTINATION ${DOC_INSTALL_DIR}/examples)
ENDIF(MAIN_DOC)
install(FILES "man/gfal2_version.1"
DESTINATION ${MAN_INSTALL_DIR}/man1/) # install examples
gfal2-v2.23.0/doc/Doxyfile.in 0000664 0000000 0000000 00000145656 14652400145 0015661 0 ustar 00root root 0000000 0000000 # Doxyfile 1.4.7
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project
#
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
# TAG = value [value, ...]
# For lists items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = "GFAL2"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = @VERSION_STRING@
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/build/
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
# format and will distribute the generated files over these directories.
# Enabling this option can be useful when feeding doxygen a huge amount of
# source files, where putting all generated files in the same directory would
# otherwise cause performance problems for the file system.
CREATE_SUBDIRS = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
# Swedish, and Ukrainian.
OUTPUT_LANGUAGE = English
# This tag can be used to specify the encoding used in the generated output.
# The encoding is not always determined by the language that is chosen,
# but also whether or not the output is meant for Windows or non-Windows users.
# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
# forces the Windows encoding (this is the default for the Windows binary),
# whereas setting the tag to NO uses a Unix-style encoding (the default for
# all platforms other than Windows).
USE_WINDOWS_ENCODING = NO
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
REPEAT_BRIEF = YES
# This tag implements a quasi-intelligent brief description abbreviator
# that is used to form the text in various listings. Each string
# in this list, if found as the leading text of the brief description, will be
# stripped from the text and the result after processing the whole list, is
# used as the annotated text. Otherwise, the brief description is used as-is.
# If left blank, the following values are used ("$name" is automatically
# replaced with the name of the entity): "The $name class" "The $name widget"
# "The $name file" "is" "provides" "specifies" "contains"
# "represents" "a" "an" "the"
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
FULL_PATH_NAMES = YES
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user-defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the
# path to strip.
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
# the reader which header file to include in order to use a class.
# If left blank only the name of the header file containing the class
# definition is used. Otherwise one should specify the include paths that
# are normally passed to the compiler using the -I flag.
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
# (but less readable) file names. This can be useful is your file systems
# doesn't support long names like on DOS, Mac, or CD-ROM.
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like the Qt-style comments (thus requiring an
# explicit @brief command for a brief description.
JAVADOC_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour.
# The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead.
MULTILINE_CPP_IS_BRIEF = NO
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member
# documentation.
DETAILS_AT_TOP = NO
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# re-implements.
INHERIT_DOCS = YES
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
# a new page for each member. If set to NO, the documentation of a member will
# be part of the file/class/namespace that contains it.
SEPARATE_MEMBER_PAGES = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 8
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
ALIASES =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
# sources only. Doxygen will then generate output that is more tailored for Java.
# For instance, namespaces will be presented as packages, qualified scopes
# will look different, etc.
OPTIMIZE_OUTPUT_JAVA = NO
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want to
# include (a tag file for) the STL sources as input, then you should
# set this tag to YES in order to let doxygen match functions declarations and
# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
# func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
BUILTIN_STL_SUPPORT = NO
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
DISTRIBUTE_GROUP_DOC = NO
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
# the same type (for instance a group of public functions) to be put as a
# subgroup of that type (e.g. under the Public Functions section). Set it to
# NO to prevent subgrouping. Alternatively, this can be done per class using
# the \nosubgrouping command.
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
EXTRACT_ALL = NO
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
EXTRACT_PRIVATE = NO
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
EXTRACT_STATIC = NO
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
EXTRACT_LOCAL_CLASSES = YES
# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
# the interface are included in the documentation.
# If set to NO (the default) only methods in the interface are included.
EXTRACT_LOCAL_METHODS = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these classes will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
# friend (class|struct|union) declarations.
# If set to NO (the default) these declarations will be included in the
# documentation.
HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
# documentation blocks found inside the body of a function.
# If set to NO (the default) these blocks will be appended to the
# function's detailed documentation block.
HIDE_IN_BODY_DOCS = NO
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower-case letters. If set to YES upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
HIDE_SCOPE_NAMES = NO
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
# will put a list of the files that are included by a file in the documentation
# of that file.
SHOW_INCLUDE_FILES = YES
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
# will sort the (detailed) documentation of file and class members
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
# brief documentation of file, namespace and class members alphabetically
# by member name. If set to NO (the default) the members will appear in
# declaration order.
SORT_BRIEF_DOCS = NO
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
# sorted by fully-qualified names, including namespaces. If set to
# NO (the default), the class list will be sorted only by class name,
# not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the
# alphabetical list.
SORT_BY_SCOPE_NAME = NO
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable (YES) or
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
GENERATE_TESTLIST = YES
# The GENERATE_BUGLIST tag can be used to enable (YES) or
# disable (NO) the bug list. This list is created by putting \bug
# commands in the documentation.
GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
# disable (NO) the deprecated list. This list is created by putting
# \deprecated commands in the documentation.
GENERATE_DEPRECATEDLIST= YES
# The ENABLED_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consists of for it to appear in
# the documentation. If the initializer consists of more lines than specified
# here it will be hidden. Use a value of 0 to hide initializers completely.
# The appearance of the initializer of individual variables and defines in the
# documentation can be controlled using \showinitializer or \hideinitializer
# command in the documentation regardless of this setting.
MAX_INITIALIZER_LINES = 30
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
# at the bottom of the documentation of classes and structs. If set to YES the
# list will mention the files that were used to generate the documentation.
SHOW_USED_FILES = YES
# If the sources in your project are distributed over multiple directories
# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
# in the documentation. The default is NO.
SHOW_DIRECTORIES = NO
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from the
# version control system). Doxygen will invoke the program by executing (via
# popen()) the command , where is the value of
# the FILE_VERSION_FILTER tag, and is the name of an input file
# provided by doxygen. Whatever the program writes to standard output
# is used as the file version. See the manual for examples.
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated by doxygen. Possible values are YES and NO. If left blank
# NO is used.
WARNINGS = YES
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
# automatically be disabled.
WARN_IF_UNDOCUMENTED = YES
# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some
# parameters in a documented function, or documenting parameters that
# don't exist or using markup commands wrongly.
WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be abled to get warnings for
# functions that are documented, but have no documentation for their parameters
# or return value. If set to NO (the default) doxygen will only warn about
# wrong or incomplete parameter documentation, but not about the absence of
# documentation.
WARN_NO_PARAMDOC = NO
# The WARN_FORMAT tag determines the format of the warning messages that
# doxygen can produce. The string should contain the $file, $line, and $text
# tags, which will be replaced by the file and line number from which the
# warning originated and the warning text. Optionally the format may contain
# $version, which will be replaced by the version of the file (if it could
# be obtained via FILE_VERSION_FILTER)
WARN_FORMAT = "$file:$line: $text"
# The WARN_LOGFILE tag can be used to specify a file to which warning
# and error messages should be written. If left blank the output is written
# to stderr.
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = @CMAKE_SOURCE_DIR@/doc/src
INPUT += @CMAKE_SOURCE_DIR@/src/core/posix/gfal_posix_api.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/file/gfal_file_api.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/gfal_api.h @CMAKE_SOURCE_DIR@/src/core/transfer/gfal_transfer.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/logger/gfal_logger.h @CMAKE_SOURCE_DIR@/src/core/common/gfal_constants.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/common/gfal_common.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/common/gfal_plugin_interface.h
INPUT += @CMAKE_SOURCE_DIR@/src/core/common/gfal_config.h
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank the following patterns are tested:
# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py
FILE_PATTERNS = *.c *.h *.cpp *.hpp
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
# from the input.
EXCLUDE_SYMLINKS = NO
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories. Note that the wildcards are matched
# against the file with absolute path, so to exclude all test directories
# for example use the pattern */test/*
EXCLUDE_PATTERNS = *.man */externals/* *gfal_posix_local_file* *srm* */common/*/*
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
# the \include command).
EXAMPLE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/examples/
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude
# commands irrespective of the value of the RECURSIVE tag.
# Possible values are YES and NO. If left blank NO is used.
EXAMPLE_RECURSIVE = NO
# The IMAGE_PATH tag can be used to specify one or more files or
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/diagrams/
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command , where
# is the value of the INPUT_FILTER tag, and is the name of an
# input file. Doxygen will then use the output that the filter program writes
# to standard output. If FILTER_PATTERNS is specified, this tag will be
# ignored.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
# filter if there is a match. The filters are a list of the form:
# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
# is applied to all files.
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will be used to filter the input files when producing source
# files to browse (i.e. when SOURCE_BROWSER is set to YES).
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
# be generated. Documented entities will be cross-referenced with these sources.
# Note: To get rid of all source code in the generated output, make sure also
# VERBATIM_HEADERS is set to NO.
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
# doxygen to hide any special comment blocks from generated source code
# fragments. Normal C and C++ comments will always remain visible.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES (the default)
# then for each documented function all documented
# functions referencing it will be listed.
REFERENCED_BY_RELATION = YES
# If the REFERENCES_RELATION tag is set to YES (the default)
# then for each documented function all documented entities
# called/used by that function will be listed.
REFERENCES_RELATION = YES
# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
# link to the source code. Otherwise they will link to the documentstion.
REFERENCES_LINK_SOURCE = NO
# If the USE_HTAGS tag is set to YES then the references to source code
# will point to the HTML generated by the htags(1) tool instead of doxygen
# built-in source browser. The htags tool is part of GNU's global source
# tagging system (see http://www.gnu.org/software/global/global.html). You
# will need version 4.8.6 or higher.
USE_HTAGS = NO
# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
# will generate a verbatim copy of the header file for each class for
# which an include is specified. Set to NO to disable this.
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
# of all compounds will be generated. Enable this if the project
# contains a lot of classes, structs, unions or interfaces.
ALPHABETICAL_INDEX = NO
# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])
COLS_IN_ALPHA_INDEX = 5
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
# should be ignored while generating the index headers.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = html
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
# doxygen will generate files with .html extension.
HTML_FILE_EXTENSION = .html
# The HTML_HEADER tag can be used to specify a personal HTML header for
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet. Note that doxygen will try to copy
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
# NO a bullet list will be used.
HTML_ALIGN_MEMBERS = YES
# If the GENERATE_HTMLHELP tag is set to YES, additional index files
# will be generated that can be used as input for tools like the
# Microsoft HTML help workshop to generate a compressed HTML help file (.chm)
# of the generated HTML documentation.
GENERATE_HTMLHELP = NO
# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
# be used to specify the file name of the resulting .chm file. You
# can add a path in front of the file if the result should not be
# written to the html output directory.
CHM_FILE =
# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
# be used to specify the location (absolute path including file name) of
# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
# the HTML help compiler on the generated index.hhp.
HHC_LOCATION =
# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
# controls if a separate .chi index file is generated (YES) or that
# it should be included in the master .chm file (NO).
GENERATE_CHI = NO
# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
# controls whether a binary table of contents is generated (YES) or a
# normal table of contents (NO) in the .chm file.
BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members
# to the contents of the HTML help documentation and to the tree view.
TOC_EXPAND = NO
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
ENUM_VALUES_PER_LINE = 4
# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
# probably better off using the HTML help feature.
GENERATE_TREEVIEW = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
GENERATE_LATEX = YES
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `latex' will be used as the default path.
LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
LATEX_CMD_NAME = latex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
# generate index for LaTeX. If left blank `makeindex' will be used as the
# default command name.
MAKEINDEX_CMD_NAME = makeindex
# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
# LaTeX documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_LATEX = NO
# The PAPER_TYPE tag can be used to set the paper type that is used
# by the printer. Possible values are: a4, a4wide, letter, legal and
# executive. If left blank a4wide will be used.
PAPER_TYPE = a4wide
# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
# packages that should be included in the LaTeX output.
EXTRA_PACKAGES =
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
# the generated latex document. The header should contain everything until
# the first chapter. If it is left blank doxygen will generate a
# standard header. Notice: only use this tag if you know what you are doing!
LATEX_HEADER =
# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
# is prepared for conversion to pdf (using ps2pdf). The pdf file will
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
PDF_HYPERLINKS = NO
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
USE_PDFLATEX = NO
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
# command to the generated LaTeX files. This will instruct LaTeX to keep
# running if errors occur, instead of asking the user for help.
# This option is also used when generating formulas in HTML.
LATEX_BATCHMODE = NO
# If LATEX_HIDE_INDICES is set to YES then doxygen will not
# include the index chapters (such as File Index, Compound Index, etc.)
# in the output.
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
# The RTF output is optimized for Word 97 and may not look very pretty with
# other RTF readers or editors.
GENERATE_RTF = NO
# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `rtf' will be used as the default path.
RTF_OUTPUT = rtf
# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
# RTF documents. This may be useful for small projects and may help to
# save some trees in general.
COMPACT_RTF = NO
# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
# will contain hyperlink fields. The RTF file will
# contain links (just like the HTML output) instead of page references.
# This makes the output suitable for online browsing using WORD or other
# programs which support those fields.
# Note: wordpad (write) and others do not support links.
RTF_HYPERLINKS = NO
# Load stylesheet definitions from file. Syntax is similar to doxygen's
# config file, i.e. a series of assignments. You only have to provide
# replacements, missing definitions are set to their default value.
RTF_STYLESHEET_FILE =
# Set optional variables used in the generation of an rtf document.
# Syntax is similar to doxygen's config file.
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages
GENERATE_MAN = YES
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `man' will be used as the default path.
MAN_OUTPUT = man
# The MAN_EXTENSION tag determines the extension that is added to
# the generated man pages (default is the subroutine's section .3)
MAN_EXTENSION = .3
# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
# then it will generate one additional man file for each entity
# documented in the real man page(s). These additional files
# only source the real man page, but without them the man command
# would be unable to find the correct page. The default is NO.
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
# If the GENERATE_XML tag is set to YES Doxygen will
# generate an XML file that captures the structure of
# the code including all documentation.
GENERATE_XML = YES
#e XML_OUTPUT tag is used to specify where the XML pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `xml' will be used as the default path.
XML_OUTPUT = xml
# The XML_SCHEMA tag can be used to specify an XML schema,
# which can be used by a validating XML parser to check the
# syntax of the XML files.
XML_SCHEMA =
# The XML_DTD tag can be used to specify an XML DTD,
# which can be used by a validating XML parser to check the
# syntax of the XML files.
XML_DTD =
# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
# dump the program listings (including syntax highlighting
# and cross-referencing information) to the XML output. Note that
# enabling this will significantly increase the size of the XML output.
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
# generate an AutoGen Definitions (see autogen.sf.net) file
# that captures the structure of the code including all
# documentation. Note that this feature is still experimental
# and incomplete at the moment.
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
# If the GENERATE_PERLMOD tag is set to YES Doxygen will
# generate a Perl module file that captures the structure of
# the code including all documentation. Note that this
# feature is still experimental and incomplete at the
# moment.
GENERATE_PERLMOD = NO
# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
# the necessary Makefile rules, Perl scripts and LaTeX code to be able
# to generate PDF and DVI output from the Perl module output.
PERLMOD_LATEX = NO
# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
# nicely formatted so it can be parsed by a human reader. This is useful
# if you want to understand what is going on. On the other hand, if this
# tag is set to NO the size of the Perl module output will be much smaller
# and Perl will parse it just the same.
PERLMOD_PRETTY = YES
# The names of the make variables in the generated doxyrules.make file
# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
# This is useful so different doxyrules.make files included by the same
# Makefile don't overwrite each other's variables.
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
# evaluate all C-preprocessor directives found in the sources and include
# files.
ENABLE_PREPROCESSING = YES
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
# names in the source code. If set to NO (the default) only conditional
# compilation will be performed. Macro expansion can be done in a controlled
# way by setting EXPAND_ONLY_PREDEF to YES.
MACRO_EXPANSION = NO
# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
# then the macro expansion is limited to the macros specified with the
# PREDEFINED and EXPAND_AS_DEFINED tags.
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
# in the INCLUDE_PATH (see below) will be search if a #include is found.
SEARCH_INCLUDES = YES
# The INCLUDE_PATH tag can be used to specify one or more directories that
# contain include files that are not input files but should be processed by
# the preprocessor.
INCLUDE_PATH =
# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
# patterns (like *.h and *.hpp) to filter out the header-files in the
# directories. If left blank, the patterns specified with FILE_PATTERNS will
# be used.
INCLUDE_FILE_PATTERNS =
# The PREDEFINED tag can be used to specify one or more macro names that
# are defined before the preprocessor is started (similar to the -D option of
# gcc). The argument of the tag is a list of macros of the form: name
# or name=definition (no spaces). If the definition and the = are
# omitted =1 is assumed. To prevent a macro definition from being
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.
PREDEFINED =
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.
# The macro definition that is found in the sources will be used.
# Use the PREDEFINED tag if you want to use a different macro definition.
EXPAND_AS_DEFINED =
# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
# doxygen's preprocessor will remove all function-like macros that are alone
# on a line, have an all uppercase name, and do not end with a semicolon. Such
# function macros are typically used for boiler-plate code, and will confuse
# the parser if not removed.
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
# The TAGFILES option can be used to specify one or more tagfiles.
# Optionally an initial location of the external documentation
# can be added for each tagfile. The format of a tag file without
# this location is as follows:
# TAGFILES = file1 file2 ...
# Adding location for the tag files is done as follows:
# TAGFILES = file1=loc1 "file2 = loc2" ...
# where "loc1" and "loc2" can be relative or absolute paths or
# URLs. If a location is present for each tag, the installdox tool
# does not have to be run to correct the links.
# Note that each tag file must have a unique name
# (where the name does NOT include the path)
# If a tag file is not located in the directory in which doxygen
# is run, you must also specify the path to the tagfile here.
TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
GENERATE_TAGFILE =
# If the ALLEXTERNALS tag is set to YES all external classes will be listed
# in the class index. If set to NO only the inherited external classes
# will be listed.
ALLEXTERNALS = NO
# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
# in the modules index. If set to NO, only the current project's groups will
# be listed.
EXTERNAL_GROUPS = YES
# The PERL_PATH should be the absolute path and name of the perl script
# interpreter (i.e. the result of `which perl').
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
# or super classes. Setting the tag to NO turns the diagrams off. Note that
# this option is superseded by the HAVE_DOT option below. This is only a
# fallback. It is recommended to install and use dot, since it yields more
# powerful graphs.
CLASS_DIAGRAMS = YES
# If set to YES, the inheritance and collaboration graphs will hide
# inheritance and usage relations if the target is undocumented
# or is not a class.
HIDE_UNDOC_RELATIONS = YES
# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
# available from the path. This tool is part of Graphviz, a graph visualization
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
HAVE_DOT = NO
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect inheritance relations. Setting this tag to YES will force the
# the CLASS_DIAGRAMS tag to NO.
CLASS_GRAPH = YES
# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
# indirect implementation dependencies (inheritance, containment, and
# class references variables) of the class with other documented classes.
COLLABORATION_GRAPH = YES
# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for groups, showing the direct groups dependencies
GROUP_GRAPHS = YES
# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
# Language.
UML_LOOK = NO
# If set to YES, the inheritance and collaboration graphs will show the
# relations between templates and their instances.
TEMPLATE_RELATIONS = NO
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
# tags are set to YES then doxygen will generate a graph for each documented
# file showing the direct and indirect include dependencies of the file with
# other documented files.
INCLUDE_GRAPH = YES
# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
# documented header file showing the documented files that directly or
# indirectly include this file.
INCLUDED_BY_GRAPH = YES
# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will
# generate a call dependency graph for every global function or class method.
# Note that enabling this option will significantly increase the time of a run.
# So in most cases it will be better to enable call graphs for selected
# functions only using the \callgraph command.
CALL_GRAPH = NO
# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will
# generate a caller dependency graph for every global function or class method.
# Note that enabling this option will significantly increase the time of a run.
# So in most cases it will be better to enable caller graphs for selected
# functions only using the \callergraph command.
CALLER_GRAPH = NO
# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
# will graphical hierarchy of all classes instead of a textual one.
GRAPHICAL_HIERARCHY = YES
# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
# then doxygen will show the dependencies a directory has on other directories
# in a graphical way. The dependency relations are determined by the #include
# relations between the files in the directories.
DIRECTORY_GRAPH = YES
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. Possible values are png, jpg, or gif
# If left blank png will be used.
DOT_IMAGE_FORMAT = png
# The tag DOT_PATH can be used to specify the path where the dot tool can be
# found. If left blank, it is assumed the dot tool can be found in the path.
DOT_PATH =
# The DOTFILE_DIRS tag can be used to specify one or more directories that
# contain dot files that are included in the documentation (see the
# \dotfile command).
DOTFILE_DIRS =
# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_WIDTH = 1024
# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
# (in pixels) of the graphs generated by dot. If a graph becomes larger than
# this value, doxygen will try to truncate the graph, so that it fits within
# the specified constraint. Beware that most browsers cannot cope with very
# large images.
MAX_DOT_GRAPH_HEIGHT = 1024
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
# graphs generated by dot. A depth value of 3 means that only nodes reachable
# from the root by following a path via at most 3 edges will be shown. Nodes
# that lay further from the root node will be omitted. Note that setting this
# option to 1 or 2 may greatly reduce the computation time needed for large
# code bases. Also note that a graph may be further truncated if the graph's
# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
# the graph is not depth-constrained.
MAX_DOT_GRAPH_DEPTH = 0
# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
# background. This is disabled by default, which results in a white background.
# Warning: Depending on the platform used, enabling this option may lead to
# badly anti-aliased labels on the edges of a graph (i.e. they become hard to
# read).
DOT_TRANSPARENT = NO
# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This
# makes dot run faster, but since only newer versions of dot (>1.8.10)
# support this, this feature is disabled by default.
DOT_MULTI_TARGETS = NO
# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
# generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs.
GENERATE_LEGEND = YES
# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
# remove the intermediate dot files that are used to generate
# the various graphs.
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
# The SEARCHENGINE tag specifies whether or not a search engine should be
# used. If set to NO the values of all tags below this one will be ignored.
SEARCHENGINE = NO
gfal2-v2.23.0/doc/diagrams/ 0000775 0000000 0000000 00000000000 14652400145 0015314 5 ustar 00root root 0000000 0000000 gfal2-v2.23.0/doc/diagrams/gfal_access.dia 0000664 0000000 0000000 00000007623 14652400145 0020235 0 ustar 00root root 0000000 0000000 ]r0?+
3n&m:MNl@$Dmk:=b=gI]xbAfp~~eyre%ß^vo߸'"mUM\\|dw*Js2K.gY|D<qUJ<$x۸,Z
(OqvF.\ciΒG&c8 xM*=Gjz%aQ6她jSf[NMmu+y
ߎMe
X &l}]xT2·[4kOh5'>8*TWcC5cfQWlP'Ɩƌu&lPQ8%+-}VG%RϑHA>ZQI~I>l3W5xO* _N>LKel8ͣ>@4xd6=TI
[FE/?K]I&[4ZYnJFÎҳ|6GWaz6Ί-Rb黮ҴbrS3In>iYӀZkbMO_sh.Ь5 6݇T6RWM%U:o=e$Wl+,QA?%B1[
6mY:'oưi,5v0E!A>V1HPj&]!C5u2¹8H:H9U1OxfU2qymXS;0nD W%:m"zhLhb34 %p 17̼(a(!Xu%C!Q(OP؋ļ u(1`XM'J;ccMPS"CGNhtTkt/^E3CfS䌨نLq?1YB&+3wn*cY" [&f]FF27wڼq^> a:
K
I:lna#ek$r+2w@unАW$zhH
X+ǘgHG Dc6P'bmS0tMDQ4u/\ReeY.Io;I0GKSYwI"w\Rp(
Oab̨aT8yn*io[0
Hǽ6=9qȜ|}w9=@BunBrP^^cUp
;^N_ުQE <
3,-fbZ Է4$vkB]{yW^I1J_J_'"]V:1,) BQBkۥ/MNy{D`2"kl鷯b>IGmլGiԵQK,<ԢK-
-l0fnm,"$7 p.FAQؾ``5+p`:y[kںݮRr ^pI~X[AI;m3')M
Q/(Q]Գ)
-pNEXq)ڽ;zdwQ>@0PA_ E&
AH"(:F%͆s{wњ5n}0ݬ=l{?Jy0hx^>eݵikPa}%sχxl+EgٺXP{C|}N]4k>$`gvb$48