1. 13 Aug, 2021 2 commits
  2. 12 Aug, 2021 1 commit
    • Kirill Smelkov's avatar
      Accept both tarballs and pure-python wheels as sources · 50e0e3b7
      Kirill Smelkov authored
      This redoes 0abf873d (Install egg from wheel only if explictly required),
      because that switch to install wheels only when explicitly requested
      broke things in several places[1,2]. We can avoid such breakage if
      instead of rejecting all wheels by default, we accept wheels, but allow
      only pure-python wheels to be installed.
      
      As slapos!1026 (comment 138639)
      shows detecting whether a dist is pure-python wheel is just
      
      	(dist.precedence == WHL_DIST and dist.platform is None)
      
      So let's use this and rework egg installer accordingly.
      
      This patch is completely untested. However the way to check whether a
      wheel is source-only was tested at slapos!1026 (comment 138639).
      
      If this patch is accepted and new slapos.buildout release is made, then
      all :whl usage in slapos.git can be dropped.
      
      /cc @tomo, @jerome, @jm
      
      [1] slapos!1026
      [2] slapos!1026 (comment 138590)
      50e0e3b7
  3. 15 May, 2021 3 commits
  4. 14 May, 2021 1 commit
  5. 12 May, 2021 2 commits
  6. 11 May, 2021 2 commits
  7. 23 Dec, 2020 2 commits
  8. 22 Dec, 2020 1 commit
  9. 11 Sep, 2020 2 commits
  10. 10 Sep, 2020 9 commits
  11. 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
  12. 22 May, 2020 1 commit
  13. 20 May, 2020 3 commits
    • Marius Gedminas's avatar
      Fix tests · 2f1d705a
      Marius Gedminas authored
      Add a RENormalizer so the easy_install.txt will be happy with scripts
      generated on Python 2 (using open(..., 'U')) and on Python 3 (using just
      open(...)).
      
      This was suggested by @sallner.
      
      (cherry picked from commit 2cf42066fc8238ffe72ce6aeaef0e66b5df13f79)
      2f1d705a
    • Laurence Rowe's avatar
      Avoid DeprecationWarning: 'U' mode is deprecated · 20adbdb6
      Laurence Rowe authored
      Python 3.7 began warning about open's 'U' mode. Universal newline mode (newline=None) is default in Python 3 so avoid specifying it on Python 3.
      
      (cherry picked from commit 978a6af9e78db44b9db25cb08c7f9d98c24bbc03)
      20adbdb6
    • Julien Muchembled's avatar
      Fix redo_pyc for Python 3 · e3f11c25
      Julien Muchembled authored
      e3f11c25
  14. 16 May, 2020 1 commit
  15. 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
  16. 12 May, 2020 1 commit
  17. 08 May, 2020 1 commit
  18. 05 May, 2020 3 commits
  19. 04 May, 2020 3 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