Recognising a package that fell back to its CRAN source
source_fallback.RdWhen a package fails to build, handle_post_build_actions() publishes the
CRAN source tarball in its place so the package stays installable. That
object is byte-identical to CRAN's, which is what lets us recognise it later:
comparing an object's MD5 against CRAN's published MD5sum needs no
downloads and no extra bookkeeping.
Details
Two things depend on telling the two apart:
a source fallback is not a binary, so it must keep counting as missing, or it is never retried and never reported (
check_for_binary())a source fallback must not be stamped with a
Builtfield, or clients that trust the stamp compile it while believing they fetched a binary (clear_built_for_sources())