Skip to contents

Index records are read from the CRAN source DESCRIPTION (see index_records), which never carries a Built: field (R stamps that only when it builds a binary). Our S3 tarballs are binaries, so each record read is given this stamp to advertise them as such. Binary-aware clients (e.g. uvr) key their binary-vs-source decision on the Built: platform triple + R minor; without it they treat the repo as source-only and compile everything, which needs system -dev libraries.

Usage

built_stamp(
  platform = R.version$platform,
  r_version = getRversion(),
  time = Sys.time()
)

Details

The triple comes from R.version$platform and the version from getRversion(), so this must run in the same build environment that produced the binaries (the surrounding arch/codename logic already assumes this).

It is a slot-wide stamp, not a per-package fact, and must never be read as one. Each S3 object's DESCRIPTION is read from the CRAN source mirror, which carries no Built field, so a single value is applied to every record read by the same run. A slot accumulates objects across primary-R changes, so the stamp only describes the R that last re-indexed it: every flat record on amd64/resolute read R 4.5 while base64enc, fastmatch, lazyeval, iotools and jsonlite were all built under 4.4.

Its purpose is narrow: uvr decides binary-vs-source by matching the triple, and a record with no Built is treated as source. Do not use it to decide whether a binary is ABI-compatible with a given R minor.