Skip to content
  1. Nov 20, 2012
  2. Nov 16, 2012
  3. Nov 15, 2012
  4. Nov 13, 2012
  5. Nov 12, 2012
  6. Nov 10, 2012
  7. Nov 09, 2012
  8. Nov 07, 2012
    • Loic Nageleisen's avatar
      Simple, optional tarball cache support · 776c6e1d
      Loic Nageleisen authored
      Rationale:
      
      Both in development and in production, some usage patterns of ruby-build
      are slowed down by the download phase. In scenarios such as
      troubleshooting failing builds or with provisioning situations (chef,
      vagrant...) the repeated download is unnerving, bandwidth wasting and
      simply against etiquette towards tarball hosters.
      
      It also happens that some source sites happen to be down and in such
      cases it is helpful to be able to sideload sources to rbenv.
      
      Behavior:
      
      By default nothing changes.
      
      If the variable CACHE_PATH is set, then ruby-build will use that
      directory to store a successful download, and will check before
      downloading if the tarball is already there, in which case downloading
      is skipped.
      
      The file is first downloaded as before in the tmp subdirectory and only
      moved afterwards, thus ensuring consistency.
      
      There is no default cache path and the optional variable is to be set by
      hand, ensuring people know what they're doing when using ruby-build.
      
      Additionnally, rbenv-install will helpfully set CACHE_PATH if and only
      if a RBENV_ROOT/cache directory exists. Again, the directory has to be
      created manually.
      
      The CACHE_PATH variable internally ends with a slash to mutualize
      non-cached cases. Still, consistency is ensured whether or not a slash
      is provided externally.
      
      Notes:
      
      I'm not quite sure CACHE_PATH is a good name, maybe
      RUBY_BUILD_CACHE_PATH is better and less conflicting.
      776c6e1d