1. 07 Jan, 2022 2 commits
  2. 29 Dec, 2021 1 commit
  3. 27 Dec, 2021 2 commits
  4. 14 Dec, 2021 1 commit
  5. 25 Sep, 2021 1 commit
  6. 24 Sep, 2021 2 commits
    • Julien Muchembled's avatar
      Extend Download API with a new parameter to use an alternate URL as fallback · a2bcbf2d
      Julien Muchembled authored
      This alternate URL is used in case of HTTPError with the main one.
      In any case, the main URL is used for both downloading & uploading
      from/to networkcache.
      
      This will be exposed by slapos.recipe.build:download* and
      slapos.recipe.cmmi recipes.
      a2bcbf2d
    • Julien Muchembled's avatar
      download: clean-up, fix, optimization · 4ccb79e9
      Julien Muchembled authored
      An optimization is to avoid temporary file when possible: a rename
      (or hard link) is not always possible (different mount points).
      
      Another one is to not check md5sum twice when using cache file.
      
      Fall-back mode is ignored if an MD5 checksum is given.
      
      In case of checksum mismatch for a cached path, remove it and
      download again, mainly to cover the following cases:
      - the url content changes and the user updates the checksum
      - buildout killed while downloading directly to cache
        (see above optimization)
      - shutil.copyfile is interrupted
      4ccb79e9
  7. 15 May, 2021 2 commits
  8. 14 May, 2021 1 commit
  9. 12 May, 2021 1 commit
  10. 11 May, 2021 1 commit
  11. 22 Dec, 2020 1 commit
  12. 10 Sep, 2020 8 commits
  13. 08 Sep, 2020 1 commit
    • Jérome Perrin's avatar
      fixup! zc.recipe.egg: Improve on the fly pathces. · 45eb64b4
      Jérome Perrin authored
      Only build egg at this point if we have some patches to apply otherwise
      buildout would install dependent egg without logging this operation, which
      would cause many tests to fail.
      
      Also cover the whole scenario of egg patching in a new doctest.
      45eb64b4
  14. 22 May, 2020 1 commit
  15. 20 May, 2020 3 commits
  16. 15 May, 2020 1 commit
    • Julien Muchembled's avatar
      fixup! Apply += & -= in correct order with respect to extends · 44ce8371
      Julien Muchembled authored
      If a.cfg extends b.cfg and both contain [a],
      it was already not possible for a.cfg:[a] to combine <= & +=.
      But it worked when a.cfg:[a] does not extend anything, and
      commit 161fb191 broke that.
      
      The only proper way to solve all this seems to process <= before
      += & -=. But since processing <= while extending files would cause
      other issues, we'd rather process +=&-= when initializing parts.
      44ce8371
  17. 12 May, 2020 1 commit
  18. 05 May, 2020 2 commits
  19. 04 May, 2020 6 commits
    • Julien Muchembled's avatar
      Do not reprocess already extended files · ec8f60fa
      Julien Muchembled authored
      extends can be interpreted as inheritance in OOP, but the original
      behaviour was against what is commonly (always?) seen everywhere.
      
      It is however good practice a file extends all files it needs directly
      (and only them). Then if two files A & B (possibly unrelated) extends
      the same third C, A was unable to overrides C values. It was even
      error-prone because someone who don't use B yet could override C values
      in A and later extending B would break A.
      
      For some of our common use cases, this new algorithm is also 9x faster
      (time to annotate: ~2.3s with -> ~.29s).
      
      Other changes:
      - ~/ is now expanded for non-url extends.
      - An absolute (non-url) path is not longer treated like a local path
        if the base is a url.
      - Better path/url normalization.
      
      Rebase instructions:
      - squash with "Chomp ../ from beginging of filenames"
      - split and apply "Support ${:_profile_base_location_}." after
      ec8f60fa
    • Julien Muchembled's avatar
      Revert "Cache downloaded data in zc/buildout/buildout.py:_open() in memory to... · 2242d941
      Julien Muchembled authored
      Revert "Cache downloaded data in zc/buildout/buildout.py:_open() in memory to accelerate remote extends."
      
      This reverts commit 260bc0c4 partially.
      
      The remaining should be squashed with "Write .installed.cfg only once, in safe way and only if there's any change."
      2242d941
    • Julien Muchembled's avatar
      6b6ce0a1
    • Julien Muchembled's avatar
    • Jérome Perrin's avatar
      Ignore _profile_base_location_ when computing signatures · d7ee97d9
      Jérome Perrin authored
      We want two identical sections at different URL to be able to produce
      same signature. This is feature is useful for slapos.recipe.cmmi's
      shared parts.
      
      Rebase instructions:
      - squash with "apply "Support ${:_profile_base_location_}."
      d7ee97d9
    • Jérome Perrin's avatar
      Use lower level API to calculate signature · f60c396b
      Jérome Perrin authored
      If we use options.items() we visit all keys and not used options cannot
      be detected.
      
      Rebase instructions:
      - squash with "Add referred parts' hash strings in
        __buildout_signature__, that invokes rebuild of a part
        when one of its (recursive) dependencies are modified"
      - add a comment explaining why such a lower level API is used
      f60c396b
  20. 23 Apr, 2020 1 commit
  21. 22 Apr, 2020 1 commit