[education/rkward] /: Deprecate .rk.cached.available.packages()

Thomas Friedrichsmeier null at kde.org
Wed Sep 24 14:33:37 BST 2025


Git commit 998194782a73928be87307b51c3caad16c3bec5c by Thomas Friedrichsmeier.
Committed on 24/09/2025 at 13:18.
Pushed by tfry into branch 'master'.

Deprecate .rk.cached.available.packages()

R's own available.packages() has gained caching not too long after
RKWard (nearly 20 years ago).

M  +0    -2    TODO
M  +1    -1    VERSION.cmake
M  +1    -1    rkward/rbackend/rpackages/rkward/DESCRIPTION
M  +5    -20   rkward/rbackend/rpackages/rkward/R/internal.R

https://invent.kde.org/education/rkward/-/commit/998194782a73928be87307b51c3caad16c3bec5c

diff --git a/TODO b/TODO
index c93b5fd2e..fe6c793cd 100644
--- a/TODO
+++ b/TODO
@@ -164,8 +164,6 @@ Internal stuff:
 	- Object editing / modification tracking:
 		- functions to set double/int/string-vectors directly. Use in paste-operations
 	- error-handling/raising in .rk.do.call
-	- .rk.get.available.packages ()
-		- use external (file) storage for cache to save mem
 	- Always save workplace layout to a file, never to config. Even for the "global" option.
 	- all RKComponents:
 		- in the documentation we call the return value of value() the "default property". Why not simply define a "default property" for each component, instead of reimplementing value()?
diff --git a/VERSION.cmake b/VERSION.cmake
index a50de1d77..d9915fa87 100644
--- a/VERSION.cmake
+++ b/VERSION.cmake
@@ -1,3 +1,3 @@
 # DO NOT CHANGE THIS FILE MANUALLY!
 # It will be overwritten by scripts/set_dist_version.sh
-SET(RKVERSION_NUMBER 0.8.1z+0.8.2+devel5)
+SET(RKVERSION_NUMBER 0.8.1z+0.8.2+devel6)
diff --git a/rkward/rbackend/rpackages/rkward/DESCRIPTION b/rkward/rbackend/rpackages/rkward/DESCRIPTION
index f5e841620..44f7a8ba2 100755
--- a/rkward/rbackend/rpackages/rkward/DESCRIPTION
+++ b/rkward/rbackend/rpackages/rkward/DESCRIPTION
@@ -15,7 +15,7 @@ LazyLoad: yes
 Authors at R: c(person(given="Thomas", family="Friedrichsmeier", email="thomas.friedrichsmeier at kdemail.net", role=c("aut")), person(given="the RKWard", family="team",
                     email="rkward-devel at kde.org", role=c("cre","aut")))
 Version: 0.8.2
-Date: 2025-06-04
+Date: 2025-09-24
 RoxygenNote: 7.3.2
 Collate: 
     'base_overrides.R'
diff --git a/rkward/rbackend/rpackages/rkward/R/internal.R b/rkward/rbackend/rpackages/rkward/R/internal.R
index e9eeae26f..6ca9c2008 100755
--- a/rkward/rbackend/rpackages/rkward/R/internal.R
+++ b/rkward/rbackend/rpackages/rkward/R/internal.R
@@ -169,14 +169,12 @@
 #' @importFrom utils installed.packages new.packages
 #' @export
 ".rk.get.package.installation.state" <- function () {
-	# fetch all status information
-	available <- .rk.cached.available.packages ()
 	inst <- installed.packages (fields="Title")
-	old <- as.data.frame (rk.old.packages (available=available), stringsAsFactors=FALSE)
-	new <- new.packages (instPkgs=inst, available=available)
+	old <- as.data.frame (rk.old.packages (), stringsAsFactors=FALSE)
+	new <- new.packages (instPkgs=inst)
 
 	# convert info to a more suitable format
-	available <- as.data.frame (available, stringsAsFactors=FALSE)
+	available <- as.data.frame (available.packages(), stringsAsFactors=FALSE)
 	inst <- as.data.frame (inst, stringsAsFactors=FALSE)
 	oldinst <- match (paste (old$Package, old$LibPath), paste (inst$Package, inst$LibPath))	# convert package names to position with in the installed packages info
 	oldavail <- match (old$Package, available$Package)	# convert package names to position with in the available packages info
@@ -214,21 +212,8 @@
 #' @importFrom utils available.packages
 #' @export
 ".rk.cached.available.packages" <- function () {
-	x <- NULL
-	if (exists ("available.packages.cache", envir=.rk.variables) && (!is.null (.rk.variables$available.packages.cache))) {
-		if (.rk.variables$available.packages.cache$timestamp > (Sys.time () - 3600)) {
-			if (all (.rk.variables$available.packages.cache$repos$repos == options ("repos")$repos)) {
-				x <- .rk.variables$available.packages.cache$cache
-			}
-		}
-	}
-
-	if (is.null(x)) {
-		x <- available.packages(fields="Title")
-		.rk.variables$available.packages.cache <- list (cache = x, timestamp = Sys.time (), repos = options ("repos"))
-	}
-
-	return (x)
+	warning(".rk.cached.available.packages() is deprecated, and will be removed in a future version. Use available.packages(), instead.")
+	return (available.packages())
 }
 
 #".rk.init.handlers" <- function () {



More information about the rkward-tracker mailing list