From 8ae2c12262cddff05529793cede0f61da3c21be3 Mon Sep 17 00:00:00 2001 From: pat-s Date: Tue, 3 Sep 2024 19:55:35 +0200 Subject: [PATCH] fix matching of packages for which the latest verison is not available --- DESCRIPTION | 1 + NAMESPACE | 1 + R/archive_packages.R | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/DESCRIPTION b/DESCRIPTION index f042f2e..bcdb0e9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -17,6 +17,7 @@ Imports: magrittr, pkgbuild, progressr, + stringr, purrr, RPostgres, s3fs (>= 0.1.7), diff --git a/NAMESPACE b/NAMESPACE index d1dc7aa..0a429c9 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -58,6 +58,7 @@ importFrom(s3fs,s3_dir_ls) importFrom(s3fs,s3_file_exists) importFrom(s3fs,s3_file_system) importFrom(s3fs,s3_file_upload) +importFrom(stringr,str_split) importFrom(xml2,read_xml) importFrom(xml2,xml_find_all) importFrom(xml2,xml_find_first) diff --git a/R/archive_packages.R b/R/archive_packages.R index 2f4d782..fcbb529 100644 --- a/R/archive_packages.R +++ b/R/archive_packages.R @@ -1,4 +1,5 @@ #' Archive packages in CRAN-like repositories +#' @importFrom stringr str_split #' @export #' @examples #' archive_package("AATtools", codename = "rhel9") @@ -48,7 +49,7 @@ archive_package <- function( } else { versions <- rev(pak::pkg_history(.x)$Version) for (i in versions) { - if (any(grepl(i, all_versions, fixed = TRUE))) { + if (any(grepl(paste0("^", i, "$"), stringr::str_split(stringr::str_split(all_versions, "_", simplify = T)[, 2], ".tar.gz", simplify = TRUE)[, 1]))) { index <- which(grepl(sprintf("_%s.tar.gz", i), all_versions)) old_versions <- all_versions[-index] break