[Rd] recent changes to r-devel with package date checking?
Ben Bolker
bbo|ker @end|ng |rom gm@||@com
Thu Mar 26 13:15:14 CET 2026
Having just installed
R Under development (unstable) (2026-03-25 r89702)
and trying to run update.packages(), I'm seeing errors from within
old.packages(); some packages have a "Built" string where the date
component of the build string is not in an as.POSIXct-friendly format, e.g.
> instPkgs[k, "Built"]
[1] "R 4.0.1; ; 'Sat, 30 May 2020 09:46:33 +0000'; unix"
as opposed to
> instPkgs[k+1, "Built"]
[1] "R 4.5.2; x86_64-pc-linux-gnu; 2025-12-15 12:38:09 UTC; unix"
This leads to
> traceback()
10: stop("character string is not in a standard unambiguous format")
9: as.POSIXlt.character(x, tz, ...)
8: as.POSIXlt(x, tz, ...)
7: as.POSIXct(as.POSIXlt(x, tz, ...), tz, ...)
6: as.POSIXct.default(bc[3], "UTC")
5: as.POSIXct(bc[3], "UTC")
4: .builtDate(inst["Built"])
3: isTRUE(.builtDate(repo["Built"]) > .builtDate(inst["Built"]))
2: needs.install(onRepos, instPkgs[k, ])
1: old.packages()
I do see some changes from r89371 ("compare Built date when determining
where a binary is new") in
https://github.com/r-devel/r-svn/commit/d0ea3357b8a9865afa68a35d87ece6de6db099c5
(it definitely looks like the relevant code was added/changed in this
commit). I can see that Dirk Eddelbuettel's "anytime" package would
guess this correctly:
anytime::anytime("Sat, 30 May 2020 09:46:33 +0000")
[1] "2020-05-30 09:46:33 EDT"
... but I can see that you wouldn't want to build in a bunch of
format-guessing machinery into base R at this point ...
I am installing packages via bspm/r2u, which seems like it might be
relevant ...
Any thoughts?
cheers
Ben Bolker
More information about the R-devel
mailing list