Skip to contents

When 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 Built field, or clients that trust the stamp compile it while believing they fetched a binary (clear_built_for_sources())