Even more stringsAsFactors catches

This commit is contained in:
2023-11-29 16:29:23 +00:00
parent f7cf31352b
commit 092bcdd866
7 changed files with 31 additions and 16 deletions

View File

@@ -1,7 +1,7 @@
Package: Rpacman
Type: Package
Title: Very simple package manager for R
Version: 1.0.8
Version: 1.0.9
Date: 2022-05-31
Authors@R: person("Craig", "Williams", email = "craig@avsdev.uk", role = c("aut", "cre"))
URL: https://avsdev.uk/R/Rpacman

View File

@@ -66,7 +66,7 @@
)))
}
do.call(rbind, fixedImports)
do.call(rbind, c(fixedImports, stringsAsFactors = FALSE))
}
.install_order <- function(dependsTree) {
@@ -76,7 +76,7 @@
package <- package[1,c("package", "version", "generation")]
return(package)
})
dependsPackages <- do.call(rbind, dependsPackages)
dependsPackages <- do.call(rbind, c(dependsPackages, stringsAsFactors = FALSE))
dependsOrder <- sort(dependsPackages$generation, index.return = T, decreasing = T)$ix
dependsOrder <- dependsPackages[dependsOrder,]
@@ -172,7 +172,7 @@ compile_imports <- function(custom_sources = empty_sources(), installOpts = list
# Cancelled
return(invisible(NULL))
}
customImports <- rbind(customImports, extraImports)
customImports <- rbind(customImports, extraImports, stringsAsFactors = FALSE)
}
coreDeps <- dependsSources[dependsSources$in_core,]

View File

@@ -7,12 +7,12 @@
archive <- lapply(archive, function(pkg) {
packageVersions <- gsub("^([^/]+)/[^_]+_(.+).tar.gz", "\\1%%\\2", rownames(pkg))
packageVersions <- strsplit(packageVersions, "%%")
packageVersions <- do.call(rbind, packageVersions)
packageVersions <- do.call(rbind, c(packageVersions, stringsAsFactors = FALSE))
pkg[,c("package","version")] <- packageVersions
sortOrder <- sort(pkg$version, index.return = TRUE)$ix
pkg[sortOrder,c("package", "version")]
})
archive <- do.call(rbind, archive)
archive <- do.call(rbind, c(archive, stringsAsFactors = FALSE))
rownames(archive) <- 1:nrow(archive)
write_con <- gzfile(fn, "wb")
saveRDS(archive, write_con)

View File

@@ -15,7 +15,7 @@
con <- gzfile(fn, "rb")
on.exit(close(con), add = TRUE)
packages <- readRDS(con)
packages <- as.data.frame(packages)
packages <- as.data.frame(packages, stringsAsFactors = FALSE)
packages <- packages[is.na(packages$Path),]
packages <- packages[,c("Package", "Version")]
colnames(packages) <- c("package", "version")

View File

@@ -30,11 +30,12 @@ install_package_source <- function(packageSource, installOpts = list(Ncpus = par
repos = getOption("repos"), type = getOption("pkgType"))
allPackages <- utils::installed.packages()
allPackages <- as.data.frame(allPackages)
allPackages <- as.data.frame(allPackages, stringsAsFactors = FALSE)
allPackages <- allPackages[allPackages$Package %in% package,]
package <- data.frame(
package = allPackages$Package,
version = allPackages$Version
version = allPackages$Version,
stringsAsFactors = FALSE
)
return(package)

View File

@@ -1,7 +1,10 @@
# Requires activate.R
.install_if_missing <- function(packages, installOpts, lockVersion = TRUE, parallel = FALSE) {
installedPackages <- as.data.frame(utils::installed.packages()[,c("Package","Version")], stringsAsFactors = FALSE)
installedPackages <- as.data.frame(
utils::installed.packages()[,c("Package","Version")],
stringsAsFactors = FALSE
)
if (lockVersion) {
packageMatch <- merge(
packages,
@@ -74,11 +77,22 @@ restore <- function(totalIsolation = FALSE, installOpts = list(Ncpus = parallel:
if (is.null(requiredPackages$custom)) {
requiredPackages$custom <- list()
}
simplePackages <- as.data.frame(apply(rbind(
do.call(rbind, requiredPackages$direct),
do.call(rbind, requiredPackages$indirect)
), 2, unlist), stringsAsFactors = FALSE)
customPackages <- as.data.frame(do.call(rbind, requiredPackages$custom), stringsAsFactors = FALSE)
simplePackages <- as.data.frame(
apply(
rbind(
do.call(rbind, c(requiredPackages$direct, stringsAsFactors = FALSE)),
do.call(rbind, c(requiredPackages$indirect, stringsAsFactors = FALSE)),
stringsAsFactors = FALSE
),
2,
unlist
),
stringsAsFactors = FALSE
)
customPackages <- as.data.frame(
do.call(rbind, c(requiredPackages$custom, stringsAsFactors = FALSE)),
stringsAsFactors = FALSE
)
# corePackages <- as.data.frame(apply(do.call(rbind, lastSnapshot$packages$core), 2, unlist))

View File

@@ -14,7 +14,7 @@ snapshot_create <- function(installOpts = list(Ncpus = parallel::detectCores()))
lastSnapshot <- snapshot_latest()
customSources <- empty_sources()
if (!is.null(lastSnapshot) && "custom" %in% names(lastSnapshot$packages)) {
customSources <- rbind(customSources, lastSnapshot$packages$custom)
customSources <- rbind(customSources, lastSnapshot$packages$custom, stringsAsFactors = FALSE)
}
packages <- compile_imports(customSources, installOpts)
names(packages) <- c("core", "direct", "indirect", "custom", "install_order")