Checks whether a binary for the latest package version exists
check_for_binary.Rd"A binary exists" is not the same as "the object exists". A package that
failed to build has its CRAN source published in the same place by
handle_post_build_actions(), and treating that as a binary is what makes
the fallback permanent: the build is never retried and the missing-binaries
audit never reports it. remote_object_state() tells the two apart, by MD5
for a version CRAN still ships and by exact size for an archived one, at the
root and then in Archive/<pkg>/. When neither can be established the
object counts as a binary, so an unreadable ETag or an unreachable CRAN
cannot trigger an endless rebuild loop.
Usage
check_for_binary(
package_name,
s3_endpoint = NULL,
s3_region = NULL,
s3_bucket = NULL,
codename = NULL,
is_r_minor_sensitive = FALSE,
arch = NULL,
version = "latest",
s3_access_key_id = NULL,
s3_secret_access_key = NULL
)Arguments
- package_name
(character)
Package name- s3_endpoint
(character)
S3 endpoint- s3_region
(character)
S3 region- s3_bucket
(character)
S3 bucket name- codename
(character)
Linux distribution identifier- is_r_minor_sensitive
(logical)
If TRUE, treats the package to be minor version specific and injects a version identifier into the file path.- arch
(character)
Architecture,"amd64"or"arm64".- version
(character)
Package version, or "latest" for the current CRAN version.- s3_access_key_id
(character)
S3 access key ID- s3_secret_access_key
(character)
S3 secret access key