|
316 | 316 | # iterate over entries in REPOSITORIES and check if they are known |
317 | 317 | for cvmfs_repo in "${REPOSITORIES[@]}" |
318 | 318 | do |
319 | | - # split into name and access mode if ',access=' in $cvmfs_repo |
320 | | - if [[ ${cvmfs_repo} == *",access="* ]] ; then |
321 | | - cvmfs_repo_name=${cvmfs_repo/,access=*/} # remove access mode specification |
322 | | - else |
323 | | - cvmfs_repo_name="${cvmfs_repo}" |
324 | | - fi |
| 319 | + readarray -td, cvmfs_repo_args < <(printf '%s' "$cvmfs_repo") |
| 320 | + cvmfs_repo_name=${cvmfs_repo_args[0]} |
| 321 | + |
325 | 322 | if [[ ! -n "${eessi_cvmfs_repos[${cvmfs_repo_name}]}" && ! -n ${cfg_cvmfs_repos[${cvmfs_repo_name}]} ]]; then |
326 | 323 | fatal_error "The repository '${cvmfs_repo_name}' is not an EESSI CVMFS repository or it is not known how to mount it (could be due to a typo or missing configuration). Run '$0 -l' to obtain a list of available repositories." "${REPOSITORY_ERROR_EXITCODE}" |
327 | 324 | fi |
|
331 | 328 | declare -A listed_repos=() |
332 | 329 | for cvmfs_repo in "${REPOSITORIES[@]}" |
333 | 330 | do |
334 | | - cvmfs_repo_name=${cvmfs_repo/,access=*/} # remove access mode |
| 331 | + readarray -td, cvmfs_repo_args < <(printf '%s' "$cvmfs_repo") |
| 332 | + cvmfs_repo_name=${cvmfs_repo_args[0]} |
335 | 333 | [[ ${VERBOSE} -eq 1 ]] && echo "checking for duplicates: '${cvmfs_repo}' and '${cvmfs_repo_name}'" |
336 | 334 | # if cvmfs_repo_name is not in eessi_cvmfs_repos, assume it's in cfg_cvmfs_repos |
337 | 335 | # and obtain actual repo_name from config |
@@ -617,14 +615,8 @@ mkdir -p ${EESSI_TMPDIR}/repos_cfg |
617 | 615 | for cvmfs_repo in "${REPOSITORIES[@]}" |
618 | 616 | do |
619 | 617 | [[ ${VERBOSE} -eq 1 ]] && echo "process CVMFS repo spec '${cvmfs_repo}'" |
620 | | - # split into name and access mode if ',access=' in $cvmfs_repo |
621 | | - if [[ ${cvmfs_repo} == *",access="* ]] ; then |
622 | | - cvmfs_repo_name=${cvmfs_repo/,access=*/} # remove access mode specification |
623 | | - cvmfs_repo_access=${cvmfs_repo/*,access=/} # remove repo name part |
624 | | - else |
625 | | - cvmfs_repo_name="${cvmfs_repo}" |
626 | | - cvmfs_repo_access="${ACCESS}" # use globally defined access mode |
627 | | - fi |
| 618 | + readarray -td, cvmfs_repo_args < <(printf '%s' "$cvmfs_repo") |
| 619 | + cvmfs_repo_name=${cvmfs_repo_args[0]} |
628 | 620 | # if cvmfs_repo_name is in cfg_cvmfs_repos, it is a "repository ID" and was |
629 | 621 | # derived from information in EESSI_REPOS_CFG_FILE, namely the section |
630 | 622 | # names in that .ini-type file |
|
0 commit comments